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

[Uptime] Expand synthetic journey step thumbnail on hover #89179

Merged

Conversation

justinkambic
Copy link
Contributor

Summary

Resolves #80173.

This PR attempts to address the desired enhancement linked above. We now display a larger version of the thumbnail when the mouse enters the thumbnail or its caption.

Jan-25-2021 11-57-28

Checklist

Delete any items that are not applicable to this PR.

For maintainers

@justinkambic justinkambic added release_note:enhancement v8.0.0 Team:Uptime - DEPRECATED Synthetics & RUM sub-team of Application Observability v7.12.0 labels Jan 25, 2021
@justinkambic justinkambic self-assigned this Jan 25, 2021
@justinkambic justinkambic requested a review from a team as a code owner January 25, 2021 16:58
@elasticmachine
Copy link
Contributor

Pinging @elastic/uptime (Team:uptime)

@@ -140,17 +150,36 @@ export const PingTimestamp = ({ timestamp, ping }: Props) => {
);

return (
<StepDiv ref={intersectionRef}>
<StepDiv
onMouseEnter={() => setIsImagePopoverOpen(true)}
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This solution results in the popover displaying the larger image when the mouse enters the figcaption element that the image contains as well. I wasn't sure if this functionality would be an issue. I did explore a few avenues around this, but they weren't as simple as this. I also considered the notion that the caption should be semantically linked to the img itself as further justification.

I've included a GIF in the description illustrating the caption hover triggering the display.

Comment on lines 159 to 182
<EuiPopover
anchorPosition="rightCenter"
button={
<StepImage
allowFullScreen={true}
alt={captionContent}
caption={ImageCaption}
data-test-subj="pingTimestampImage"
hasShadow
url={imgSrc}
size="s"
/>
}
closePopover={() => setIsImagePopoverOpen(false)}
isOpen={isImagePopoverOpen}
>
<EuiImage
alt={i18n.translate('xpack.uptime.synthetics.thumbnail.fullSize.alt', {
defaultMessage: `A full-size screenshot for this journey step's thumbnail.`,
})}
url={imgSrc}
style={{ height: POPOVER_IMG_HEIGHT, width: POPOVER_IMG_WIDTH, objectFit: 'contain' }}
/>
</EuiPopover>
Copy link
Contributor

@shahzad31 shahzad31 Jan 26, 2021

Choose a reason for hiding this comment

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

seems like this ping_timestamp component has become bulky, i feel it deserver some asbtraction.

WDYT?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Sure I can refactor. This code was somewhat new to me as it was contributed in my absence, so I didn't want to do any significant restructuring. I'm happy to try to break it up a bit though!

@justinkambic
Copy link
Contributor Author

@dominiqueclarke I think we should treat this as a completely new review given how much code I moved around and modified since Shahzad's review.

Copy link
Contributor

@dominiqueclarke dominiqueclarke left a comment

Choose a reason for hiding this comment

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

Looks great! Works in Chrome and Firefox (Kibana currently has a Safari bug that prevents you from loading Kibana in safari). Thanks for taking the time to break things out and clean up. A few comments. Feel free to let me know if you'd like to defer anything, since I realize this refactor primarily involved a lot of copying.

export interface StepImageCaptionProps {
captionContent: string;
imgSrc?: string;
maxSteps?: number;
Copy link
Contributor

Choose a reason for hiding this comment

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

Seems like maxSteps should be required to prevent broken arrow buttons, since it controls the disabled state.

return (
<>
<div className="stepArrowsFullScreen">
{imgSrc && (
Copy link
Contributor

Choose a reason for hiding this comment

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

It doesn't seem like any of this data is reliant on imgSrc and it's odd to me that this is conditionally rendered based on imgSrc. Does imgSrc need to be prop for the caption?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I was trying to avoid making any direct modifications to rendering logic as this was largely intended as a refactor, outside of the additional change to resolve #80173.

This is related to your above comment about maxSteps as well. All of this weirdness happens because useFetcher can return null | undefined for data. Perhaps we should require all props for these child components, and let a top-level data is truthy assertion dictate whether we even try to render any of them.

maxSteps, for example, appears to have a default value. So unless data itself is not returned, we should have values for these fields.

import { StepImagePopover, StepImagePopoverProps } from './step_image_popover';
import { render } from '../../../../../lib/helper/rtl_helpers';

describe('StepImagePopover', () => {
Copy link
Contributor

Choose a reason for hiding this comment

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

💯

expect(getByAltText(`A larger version of the screenshot for this journey step's thumbnail.`));
});

it('renders caption content', () => {
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this testing the caption content or something else?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We declare captionContent in the default props; the test is making sure the caption content and img src match in the DOM. I can rename it if you have a better description in mind.

};
});

it('opens popover when click on img caption, and hides when popover is closed', async () => {
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: Not sure if this is the popover, but rather the full screen image.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The result of naming a test before verifying how the implementation should go. Nice catch: 0dfd62d

isOpen={isImagePopoverOpen}
>
<EuiImage
alt={i18n.translate('xpack.uptime.synthetics.thumbnail.fullSize.alt', {
Copy link
Contributor

Choose a reason for hiding this comment

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

This is really not something to address at the moment, but wondering if we should make constant files for content that we can then import in the test? Plus side is it keeps everything consistent and prevents test changes with content changes. Downside is now the content implementation is separated from the render so you have to work in two different files for full context.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think I have actually done this a few times already on my own. Perhaps worth discussing at the next tech sync.

* you may not use this file except in compliance with the Elastic License.
*/

import { i18n } from '@kbn/i18n';
Copy link
Contributor

Choose a reason for hiding this comment

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

Some translations are here and not others.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I've moved an inline translation to this file, and created a format function for another. I decided to keep the one in NoImageAvailable there because I feel the usage of FormattedMessage improves readability, vs. importing. ad1ebbd

@@ -98,7 +98,7 @@ export const StepScreenshotDisplay: FC<StepScreenshotDisplayProps> = ({
closePopover={() => setIsImagePopoverOpen(false)}
isOpen={isImagePopoverOpen}
>
<img
<EuiImage
Copy link
Contributor

Choose a reason for hiding this comment

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

💯

@kibanamachine
Copy link
Contributor

💛 Build succeeded, but was flaky


Test Failures

Kibana Pipeline / general / X-Pack Reporting API Integration Tests.x-pack/test/reporting_api_integration/reporting_and_security/csv_job_params·ts.Reporting APIs Generation from Job Params "before all" hook for "Rejects bogus jobParams"

Link to Jenkins

Standard Out

Failed Tests Reporter:
  - Test has not failed recently on tracked branches

[00:00:00]       │
[00:00:00]         └-: Reporting APIs
[00:00:00]           └-> "before all" hook
[00:00:00]           └-: Generation from Job Params
[00:00:00]             └-> "before all" hook
[00:00:00]             └-> "before all" hook
[00:00:00]               │ info [reporting/logs] Loading "mappings.json"
[00:00:00]               │ info [reporting/logs] Loading "data.json.gz"
[00:00:00]               │ info [o.e.c.m.MetadataDeleteIndexService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] [.kibana_8.0.0_001/3sKufxeERtm5KIu9QDmHGA] deleting index
[00:00:00]               │ info [o.e.c.m.MetadataDeleteIndexService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] [.kibana_task_manager_8.0.0_001/6Y1i3Q5lTNiFFeWu73TlVg] deleting index
[00:00:00]               │ info [reporting/logs] Deleted existing index [".kibana_8.0.0_001",".kibana_task_manager_8.0.0_001"]
[00:00:00]               │ info [o.e.c.m.MetadataCreateIndexService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] [.kibana] creating index, cause [api], templates [], shards [1]/[1]
[00:00:00]               │ info [reporting/logs] Created index ".kibana"
[00:00:00]               │ debg [reporting/logs] ".kibana" settings {"index":{"number_of_replicas":"1","number_of_shards":"1"}}
[00:00:00]               │ info [o.e.c.m.MetadataCreateIndexService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] [.kibana_task_manager_8.0.0_001] creating index, cause [auto(bulk api)], templates [], shards [1]/[1]
[00:00:00]               │ info [o.e.c.m.MetadataMappingService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] [.kibana/XpQE7Cd9TJG2OdsaPr_j8A] update_mapping [_doc]
[00:00:00]               │ info [o.e.c.m.MetadataMappingService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] [.kibana_task_manager_8.0.0_001/Pw29v9-XQZe0oyXG1dh6mQ] create_mapping
[00:00:00]               │ info [reporting/logs] Indexed 2 docs into ".kibana"
[00:00:00]               │ info [o.e.c.m.MetadataMappingService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] [.kibana_task_manager_8.0.0_001/Pw29v9-XQZe0oyXG1dh6mQ] update_mapping [_doc]
[00:00:00]               │ info [o.e.c.m.MetadataMappingService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] [.kibana/XpQE7Cd9TJG2OdsaPr_j8A] update_mapping [_doc]
[00:00:00]               │ debg Migrating saved objects
[00:00:00]               │ info [o.e.c.m.MetadataMappingService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] [.kibana_task_manager_8.0.0_001/Pw29v9-XQZe0oyXG1dh6mQ] update_mapping [_doc]
[00:00:00]               │ proc [kibana]   log   [18:09:05.967] [error][plugins][taskManager] Failed to poll for work: ResponseError: search_phase_execution_exception
[00:00:00]               │ proc [kibana]   log   [18:09:05.988] [info][savedobjects-service] [.kibana_task_manager] INIT -> CREATE_NEW_TARGET
[00:00:00]               │ proc [kibana]   log   [18:09:05.994] [info][savedobjects-service] [.kibana] INIT -> LEGACY_SET_WRITE_BLOCK
[00:00:00]               │ info [o.e.c.m.MetadataIndexStateService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] adding block write to indices [[.kibana/XpQE7Cd9TJG2OdsaPr_j8A]]
[00:00:00]               │ info [o.e.c.m.MetadataIndexStateService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] completed adding block write to indices [.kibana]
[00:00:00]               │ proc [kibana]   log   [18:09:06.062] [info][savedobjects-service] [.kibana] LEGACY_SET_WRITE_BLOCK -> LEGACY_CREATE_REINDEX_TARGET
[00:00:00]               │ info [o.e.c.m.MetadataCreateIndexService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] [.kibana_pre6.5.0_001] creating index, cause [api], templates [], shards [1]/[1]
[00:00:00]               │ info [o.e.c.r.a.AllocationService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] updating number_of_replicas to [0] for indices [.kibana_pre6.5.0_001]
[00:00:00]               │ proc [kibana]   log   [18:09:06.147] [info][savedobjects-service] [.kibana] LEGACY_CREATE_REINDEX_TARGET -> LEGACY_REINDEX
[00:00:00]               │ proc [kibana]   log   [18:09:06.175] [info][savedobjects-service] [.kibana] LEGACY_REINDEX -> LEGACY_REINDEX_WAIT_FOR_TASK
[00:00:00]               │ info [o.e.c.m.MetadataCreateIndexService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] [.tasks] creating index, cause [auto(task api)], templates [], shards [1]/[1]
[00:00:00]               │ info [o.e.c.r.a.AllocationService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] updating number_of_replicas to [0] for indices [.tasks]
[00:00:00]               │ info [o.e.t.LoggingTaskListener] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] 831 finished with response BulkByScrollResponse[took=47.6ms,timed_out=false,sliceId=null,updated=0,created=2,deleted=0,batches=1,versionConflicts=0,noops=0,retries=0,throttledUntil=0s,bulk_failures=[],search_failures=[]]
[00:00:01]               │ proc [kibana]   log   [18:09:06.398] [info][savedobjects-service] [.kibana] LEGACY_REINDEX_WAIT_FOR_TASK -> LEGACY_DELETE
[00:00:01]               │ info [o.e.c.m.MetadataDeleteIndexService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] [.kibana/XpQE7Cd9TJG2OdsaPr_j8A] deleting index
[00:00:01]               │ proc [kibana]   log   [18:09:06.443] [info][savedobjects-service] [.kibana] LEGACY_DELETE -> SET_SOURCE_WRITE_BLOCK
[00:00:01]               │ info [o.e.c.m.MetadataIndexStateService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] adding block write to indices [[.kibana_pre6.5.0_001/MNsU5EXfS6Ckq_Mx--IxXg]]
[00:00:01]               │ info [o.e.c.m.MetadataIndexStateService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] completed adding block write to indices [.kibana_pre6.5.0_001]
[00:00:01]               │ proc [kibana]   log   [18:09:06.500] [info][savedobjects-service] [.kibana] SET_SOURCE_WRITE_BLOCK -> CREATE_REINDEX_TEMP
[00:00:01]               │ info [o.e.c.m.MetadataCreateIndexService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] [.kibana_8.0.0_reindex_temp] creating index, cause [api], templates [], shards [1]/[1]
[00:00:01]               │ info [o.e.c.r.a.AllocationService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] updating number_of_replicas to [0] for indices [.kibana_8.0.0_reindex_temp]
[00:00:01]               │ proc [kibana]   log   [18:09:06.582] [info][savedobjects-service] [.kibana] CREATE_REINDEX_TEMP -> REINDEX_SOURCE_TO_TEMP
[00:00:01]               │ proc [kibana]   log   [18:09:06.593] [info][savedobjects-service] [.kibana] REINDEX_SOURCE_TO_TEMP -> REINDEX_SOURCE_TO_TEMP_WAIT_FOR_TASK
[00:00:01]               │ info [o.e.c.m.MetadataMappingService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] [.kibana_8.0.0_reindex_temp/iNJblitFTtGF72TrhITddw] update_mapping [_doc]
[00:00:01]               │ info [o.e.t.LoggingTaskListener] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] 876 finished with response BulkByScrollResponse[took=56.5ms,timed_out=false,sliceId=null,updated=0,created=2,deleted=0,batches=1,versionConflicts=0,noops=0,retries=0,throttledUntil=0s,bulk_failures=[],search_failures=[]]
[00:00:01]               │ proc [kibana]   log   [18:09:06.709] [info][savedobjects-service] [.kibana] REINDEX_SOURCE_TO_TEMP_WAIT_FOR_TASK -> SET_TEMP_WRITE_BLOCK
[00:00:01]               │ info [o.e.c.m.MetadataIndexStateService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] adding block write to indices [[.kibana_8.0.0_reindex_temp/iNJblitFTtGF72TrhITddw]]
[00:00:01]               │ info [o.e.c.m.MetadataIndexStateService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] completed adding block write to indices [.kibana_8.0.0_reindex_temp]
[00:00:01]               │ proc [kibana]   log   [18:09:06.758] [info][savedobjects-service] [.kibana] SET_TEMP_WRITE_BLOCK -> CLONE_TEMP_TO_TARGET
[00:00:01]               │ info [o.e.c.m.MetadataCreateIndexService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] applying create index request using existing index [.kibana_8.0.0_reindex_temp] metadata
[00:00:01]               │ info [o.e.c.m.MetadataCreateIndexService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] [.kibana_8.0.0_001] creating index, cause [clone_index], templates [], shards [1]/[1]
[00:00:01]               │ info [o.e.c.r.a.AllocationService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] updating number_of_replicas to [0] for indices [.kibana_8.0.0_001]
[00:00:01]               │ info [o.e.c.m.MetadataMappingService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] [.kibana_8.0.0_001/cTaPf3UFR5yKQCHmLLapZA] create_mapping
[00:00:01]               │ proc [kibana]   log   [18:09:06.903] [info][savedobjects-service] [.kibana] CLONE_TEMP_TO_TARGET -> OUTDATED_DOCUMENTS_SEARCH
[00:00:01]               │ proc [kibana]   log   [18:09:06.933] [info][savedobjects-service] [.kibana] OUTDATED_DOCUMENTS_SEARCH -> OUTDATED_DOCUMENTS_TRANSFORM
[00:00:01]               │ info [o.e.c.m.MetadataMappingService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] [.kibana_8.0.0_001/cTaPf3UFR5yKQCHmLLapZA] update_mapping [_doc]
[00:00:02]               │ proc [kibana]   log   [18:09:07.834] [info][savedobjects-service] [.kibana] OUTDATED_DOCUMENTS_TRANSFORM -> OUTDATED_DOCUMENTS_SEARCH
[00:00:02]               │ proc [kibana]   log   [18:09:07.854] [info][savedobjects-service] [.kibana] OUTDATED_DOCUMENTS_SEARCH -> UPDATE_TARGET_MAPPINGS
[00:00:02]               │ info [o.e.c.m.MetadataMappingService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] [.kibana_8.0.0_001/cTaPf3UFR5yKQCHmLLapZA] update_mapping [_doc]
[00:00:02]               │ proc [kibana]   log   [18:09:07.926] [info][savedobjects-service] [.kibana] UPDATE_TARGET_MAPPINGS -> UPDATE_TARGET_MAPPINGS_WAIT_FOR_TASK
[00:00:02]               │ info [o.e.t.LoggingTaskListener] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] 937 finished with response BulkByScrollResponse[took=27.2ms,timed_out=false,sliceId=null,updated=2,created=0,deleted=0,batches=1,versionConflicts=0,noops=0,retries=0,throttledUntil=0s,bulk_failures=[],search_failures=[]]
[00:00:02]               │ proc [kibana]   log   [18:09:08.037] [info][savedobjects-service] [.kibana] UPDATE_TARGET_MAPPINGS_WAIT_FOR_TASK -> MARK_VERSION_INDEX_READY
[00:00:02]               │ info [o.e.c.m.MetadataDeleteIndexService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] [.kibana_8.0.0_reindex_temp/iNJblitFTtGF72TrhITddw] deleting index
[00:00:02]               │ proc [kibana]   log   [18:09:08.081] [info][savedobjects-service] [.kibana] MARK_VERSION_INDEX_READY -> DONE
[00:00:02]               │ proc [kibana]   log   [18:09:08.082] [info][savedobjects-service] [.kibana] Migration completed after 2103ms
[00:00:03]               │ info [o.e.c.m.MetadataCreateIndexService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] [.ds-ilm-history-5-2021.02.01-000001] creating index, cause [initialize_data_stream], templates [ilm-history], shards [1]/[0]
[00:00:03]               │ info [o.e.c.m.MetadataCreateDataStreamService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] adding data stream [ilm-history-5] with write index [.ds-ilm-history-5-2021.02.01-000001] and backing indices []
[00:00:03]               │ info [o.e.x.i.IndexLifecycleTransition] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] moving index [.ds-ilm-history-5-2021.02.01-000001] from [null] to [{"phase":"new","action":"complete","name":"complete"}] in policy [ilm-history-ilm-policy]
[00:00:03]               │ info [o.e.x.i.IndexLifecycleTransition] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] moving index [.ds-ilm-history-5-2021.02.01-000001] from [{"phase":"new","action":"complete","name":"complete"}] to [{"phase":"hot","action":"unfollow","name":"wait-for-indexing-complete"}] in policy [ilm-history-ilm-policy]
[00:00:03]               │ info [o.e.x.i.IndexLifecycleTransition] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] moving index [.ds-ilm-history-5-2021.02.01-000001] from [{"phase":"hot","action":"unfollow","name":"wait-for-indexing-complete"}] to [{"phase":"hot","action":"unfollow","name":"wait-for-follow-shard-tasks"}] in policy [ilm-history-ilm-policy]
[00:00:57]               │ proc [kibana]   log   [18:10:02.419] [error][plugins][taskManager] [WorkloadAggregator]: Error: Invalid workload: {"took":0,"timed_out":false,"_shards":{"total":0,"successful":0,"skipped":0,"failed":0},"hits":{"total":{"value":0,"relation":"eq"},"max_score":0,"hits":[]}}
[00:01:57]               │ proc [kibana]   log   [18:11:02.434] [error][plugins][taskManager] [WorkloadAggregator]: Error: Invalid workload: {"took":0,"timed_out":false,"_shards":{"total":0,"successful":0,"skipped":0,"failed":0},"hits":{"total":{"value":0,"relation":"eq"},"max_score":0,"hits":[]}}
[00:02:00]               │ERROR [migrate saved objects] request failed (attempt=1/5): socket hang up
[00:02:00]               │ proc [kibana]   log   [18:11:06.005] [error][savedobjects-service] [.kibana_task_manager] Action failed with 'Request timed out'. Retrying attempt 1 out of 10 in 2 seconds.
[00:02:00]               │ proc [kibana]   log   [18:11:06.006] [info][savedobjects-service] [.kibana_task_manager] CREATE_NEW_TARGET -> CREATE_NEW_TARGET
[00:02:01]               │ proc [kibana]   log   [18:11:06.948] [info][savedobjects-service] [.kibana_task_manager] INIT -> CREATE_NEW_TARGET
[00:02:01]               │ proc [kibana]   log   [18:11:06.956] [info][savedobjects-service] [.kibana] INIT -> OUTDATED_DOCUMENTS_SEARCH
[00:02:01]               │ proc [kibana]   log   [18:11:06.970] [info][savedobjects-service] [.kibana] OUTDATED_DOCUMENTS_SEARCH -> UPDATE_TARGET_MAPPINGS
[00:02:01]               │ proc [kibana]   log   [18:11:07.029] [info][savedobjects-service] [.kibana] UPDATE_TARGET_MAPPINGS -> UPDATE_TARGET_MAPPINGS_WAIT_FOR_TASK
[00:02:01]               │ info [o.e.t.LoggingTaskListener] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] 1532 finished with response BulkByScrollResponse[took=36.5ms,timed_out=false,sliceId=null,updated=2,created=0,deleted=0,batches=1,versionConflicts=0,noops=0,retries=0,throttledUntil=0s,bulk_failures=[],search_failures=[]]
[00:02:01]               │ proc [kibana]   log   [18:11:07.139] [info][savedobjects-service] [.kibana] UPDATE_TARGET_MAPPINGS_WAIT_FOR_TASK -> DONE
[00:02:01]               │ proc [kibana]   log   [18:11:07.139] [info][savedobjects-service] [.kibana] Migration completed after 199ms
[00:02:57]               │ proc [kibana]   log   [18:12:02.442] [error][plugins][taskManager] [WorkloadAggregator]: Error: Invalid workload: {"took":0,"timed_out":false,"_shards":{"total":0,"successful":0,"skipped":0,"failed":0},"hits":{"total":{"value":0,"relation":"eq"},"max_score":0,"hits":[]}}
[00:03:57]               │ proc [kibana]   log   [18:13:02.450] [error][plugins][taskManager] [WorkloadAggregator]: Error: Invalid workload: {"took":0,"timed_out":false,"_shards":{"total":0,"successful":0,"skipped":0,"failed":0},"hits":{"total":{"value":0,"relation":"eq"},"max_score":0,"hits":[]}}
[00:04:01]               │ERROR [migrate saved objects] request failed (attempt=2/5): socket hang up
[00:04:01]               │ proc [kibana]   log   [18:13:06.965] [error][savedobjects-service] [.kibana_task_manager] Action failed with 'Request timed out'. Retrying attempt 1 out of 10 in 2 seconds.
[00:04:01]               │ proc [kibana]   log   [18:13:06.966] [info][savedobjects-service] [.kibana_task_manager] CREATE_NEW_TARGET -> CREATE_NEW_TARGET
[00:04:02]               │ proc [kibana]   log   [18:13:08.020] [error][savedobjects-service] [.kibana_task_manager] Action failed with 'Request timed out'. Retrying attempt 2 out of 10 in 4 seconds.
[00:04:02]               │ proc [kibana]   log   [18:13:08.021] [info][savedobjects-service] [.kibana_task_manager] CREATE_NEW_TARGET -> CREATE_NEW_TARGET
[00:04:03]               │ proc [kibana]   log   [18:13:08.954] [info][savedobjects-service] [.kibana_task_manager] INIT -> CREATE_NEW_TARGET
[00:04:03]               │ proc [kibana]   log   [18:13:08.960] [info][savedobjects-service] [.kibana] INIT -> OUTDATED_DOCUMENTS_SEARCH
[00:04:03]               │ proc [kibana]   log   [18:13:08.974] [info][savedobjects-service] [.kibana] OUTDATED_DOCUMENTS_SEARCH -> UPDATE_TARGET_MAPPINGS
[00:04:03]               │ proc [kibana]   log   [18:13:09.033] [info][savedobjects-service] [.kibana] UPDATE_TARGET_MAPPINGS -> UPDATE_TARGET_MAPPINGS_WAIT_FOR_TASK
[00:04:03]               │ info [o.e.t.LoggingTaskListener] [kibana-ci-immutable-ubuntu-16-tests-xxl-1612198601158721070] 2113 finished with response BulkByScrollResponse[took=42.4ms,timed_out=false,sliceId=null,updated=2,created=0,deleted=0,batches=1,versionConflicts=0,noops=0,retries=0,throttledUntil=0s,bulk_failures=[],search_failures=[]]
[00:04:03]               │ proc [kibana]   log   [18:13:09.141] [info][savedobjects-service] [.kibana] UPDATE_TARGET_MAPPINGS_WAIT_FOR_TASK -> DONE
[00:04:03]               │ proc [kibana]   log   [18:13:09.142] [info][savedobjects-service] [.kibana] Migration completed after 200ms
[00:04:57]               │ proc [kibana]   log   [18:14:02.456] [error][plugins][taskManager] [WorkloadAggregator]: Error: Invalid workload: {"took":0,"timed_out":false,"_shards":{"total":0,"successful":0,"skipped":0,"failed":0},"hits":{"total":{"value":0,"relation":"eq"},"max_score":0,"hits":[]}}
[00:05:57]               │ proc [kibana]   log   [18:15:02.462] [error][plugins][taskManager] [WorkloadAggregator]: Error: Invalid workload: {"took":0,"timed_out":false,"_shards":{"total":0,"successful":0,"skipped":0,"failed":0},"hits":{"total":{"value":0,"relation":"eq"},"max_score":0,"hits":[]}}
[00:06:00]               └- ✖ fail: Reporting APIs Generation from Job Params "before all" hook for "Rejects bogus jobParams"
[00:06:00]               │      Error: Timeout of 360000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/dev/shm/workspace/parallel/18/kibana/x-pack/test/reporting_api_integration/reporting_and_security/csv_job_params.ts)
[00:06:00]               │       at listOnTimeout (internal/timers.js:554:17)
[00:06:00]               │       at processTimers (internal/timers.js:497:7)
[00:06:00]               │ 
[00:06:00]               │ 

Stack Trace

Error: Timeout of 360000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/dev/shm/workspace/parallel/18/kibana/x-pack/test/reporting_api_integration/reporting_and_security/csv_job_params.ts)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)

Metrics [docs]

Module Count

Fewer modules leads to a faster build time

id before after diff
uptime 574 581 +7

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
uptime 892.6KB 895.7KB +3.0KB

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

@justinkambic justinkambic dismissed shahzad31’s stale review February 2, 2021 02:59

He's on leave, he told me he was ok with the changes, and another team member reviewed.

@justinkambic justinkambic merged commit 1712387 into elastic:master Feb 2, 2021
justinkambic added a commit to justinkambic/kibana that referenced this pull request Feb 2, 2021
)

* Add desired hover functionality and a test.

* Switch render from img to EuiImage for step view.

* Create new module for ping_timestamp. Extract a function. Add a test.

* Extract nav buttons, translations. Add tests.

* Fix a typo.

* Extract caption to own file. Add tests.

* Extract no image display to dedicated file. Add aria label. Add tests.

* Make import path more explicit.

* Move step image popover to dedicated file. Add tests.

* Clean up inline code in timestamp component.

* Explicit var names.

* Simplicity.

* Fix refactoring issues in test files.

* Move translations to central file.

* Rename test for better accuracy.
gmmorris added a commit to lizozom/kibana that referenced this pull request Feb 2, 2021
…om/kibana into pr/89570

* 'sessions/save-all-sessions' of https://github.com/lizozom/kibana: (44 commits)
  [ML] Functional tests - skip DFA clone tests
  [Uptime] Fix synthetics detail step count (elastic#89940)
  Fixes the permissions to require cluster.manage in order to create an index and in order to update an index (elastic#89947)
  [Security Solution] [Detections] adds log info level for logging in cloud (elastic#89941)
  [Time to Visualize] Dashboard By Value Testing Lens (elastic#89581)
  [Uptime] Expand synthetic journey step thumbnail on hover (elastic#89179)
  TS project refs: Migrates snapshot_restore to a TS Project (elastic#89653)
  docs: APM 7.11 updates (elastic#89789)
  move skip to higher level (elastic#86952)
  Revert "Migrations v2: don't auto-create indices + FTR/esArchiver support (elastic#85778)"
  Revert "Revert "Enable v2 so migrations, disable in FTR tests (elastic#89297)""
  Revert "Enable v2 so migrations, disable in FTR tests (elastic#89297)"
  [data.search] Allow search response to follow new hits format (elastic#88115)
  [Maps] Change 'create multi-layer map' title to be use-case focused (elastic#89520)
  skip flaky suite (elastic#86952)
  [Security Solution] Remove focustrap (elastic#89905)
  [Workplace Search] Add remaining i18n support for the Content Sources tree (elastic#89910)
  [esArchiver] log when migrations complete and we're done loading data (elastic#89938)
  Add --ssl flag to make resolver generator use ssl with kbn and elasticsearch clients (elastic#89873)
  TS project refs: Migrates grokdebugger (elastic#89652)
  ...
justinkambic added a commit that referenced this pull request Feb 2, 2021
…89970)

* Add desired hover functionality and a test.

* Switch render from img to EuiImage for step view.

* Create new module for ping_timestamp. Extract a function. Add a test.

* Extract nav buttons, translations. Add tests.

* Fix a typo.

* Extract caption to own file. Add tests.

* Extract no image display to dedicated file. Add aria label. Add tests.

* Make import path more explicit.

* Move step image popover to dedicated file. Add tests.

* Clean up inline code in timestamp component.

* Explicit var names.

* Simplicity.

* Fix refactoring issues in test files.

* Move translations to central file.

* Rename test for better accuracy.
@justinkambic
Copy link
Contributor Author

@justinkambic justinkambic deleted the 80173-expand-thumbnail-on-hover branch February 2, 2021 13:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release_note:enhancement Team:Uptime - DEPRECATED Synthetics & RUM sub-team of Application Observability v7.12.0 v8.0.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Uptime UI] hover interaction for synthetic screenshots
5 participants