-
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.
Browse files
Browse the repository at this point in the history
After the migration to React in #22622, this PR adds more test coverage based on jest to the Anomaly Explorer charts. This is done as preparation for some further refactoring (#22626) and the integration of the support for charts for the rare detector (#21163). The tests use mock data based on a standard multi-metric job using the farequote dataset. Besided the tests this PR includes the following changes: - In explore_series.js the path is no longer a concatenanted string but now using a template literal - The exploreSeries() function is no longer calling window.open by itself, it just returns the link because of the above, renamed exploreSeries() to getExploreSeriesLink() and moved it to chart_utils.js - explorer_charts_container_service.js is no longer requiring jQuery itself, it now receiving the required element as a factory argument. Further work on this is planned to get rid of jQuery.
- Loading branch information
Showing
30 changed files
with
1,664 additions
and
160 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
68 changes: 68 additions & 0 deletions
68
x-pack/plugins/ml/public/explorer/explorer_charts/__mocks__/mock_anomaly_chart_records.json
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,68 @@ | ||
[ | ||
{ | ||
"job_id": "mock-job-id", | ||
"result_type": "record", | ||
"probability": 1.6552181439816634e-32, | ||
"record_score": 98.56065708456248, | ||
"initial_record_score": 98.56065708456248, | ||
"bucket_span": 900, | ||
"detector_index": 0, | ||
"is_interim": false, | ||
"timestamp": 1486656000000, | ||
"partition_field_name": "airline", | ||
"partition_field_value": "AAL", | ||
"function": "mean", | ||
"function_description": "mean", | ||
"typical": [ | ||
99.81123207526203 | ||
], | ||
"actual": [ | ||
242.3568918440077 | ||
], | ||
"field_name": "responsetime", | ||
"influencers": [ | ||
{ | ||
"influencer_field_name": "airline", | ||
"influencer_field_values": [ | ||
"AAL" | ||
] | ||
} | ||
], | ||
"airline": [ | ||
"AAL" | ||
] | ||
}, | ||
{ | ||
"job_id": "mock-job-id", | ||
"result_type": "record", | ||
"probability": 2.6276047868032343e-28, | ||
"record_score": 96.93718, | ||
"initial_record_score": 92.70812367638732, | ||
"bucket_span": 900, | ||
"detector_index": 0, | ||
"is_interim": false, | ||
"timestamp": 1486656900000, | ||
"partition_field_name": "airline", | ||
"partition_field_value": "AAL", | ||
"function": "mean", | ||
"function_description": "mean", | ||
"typical": [ | ||
100.02884159032787 | ||
], | ||
"actual": [ | ||
282.02533259111306 | ||
], | ||
"field_name": "responsetime", | ||
"influencers": [ | ||
{ | ||
"influencer_field_name": "airline", | ||
"influencer_field_values": [ | ||
"AAL" | ||
] | ||
} | ||
], | ||
"airline": [ | ||
"AAL" | ||
] | ||
} | ||
] |
33 changes: 33 additions & 0 deletions
33
x-pack/plugins/ml/public/explorer/explorer_charts/__mocks__/mock_anomaly_record.json
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,33 @@ | ||
{ | ||
"job_id": "mock-job-id", | ||
"result_type": "record", | ||
"probability": 0.000374234162864467, | ||
"record_score": 1.3677172011743646, | ||
"initial_record_score": 1.3677172011743646, | ||
"bucket_span": 900, | ||
"detector_index": 0, | ||
"is_interim": false, | ||
"timestamp": 1486743300000, | ||
"partition_field_name": "airline", | ||
"partition_field_value": "JAL", | ||
"function": "mean", | ||
"function_description": "mean", | ||
"typical": [ | ||
499.9850000350266 | ||
], | ||
"actual": [ | ||
511.4997161865235 | ||
], | ||
"field_name": "responsetime", | ||
"influencers": [ | ||
{ | ||
"influencer_field_name": "airline", | ||
"influencer_field_values": [ | ||
"JAL" | ||
] | ||
} | ||
], | ||
"airline": [ | ||
"JAL" | ||
] | ||
} |
26 changes: 26 additions & 0 deletions
26
x-pack/plugins/ml/public/explorer/explorer_charts/__mocks__/mock_chart_data.js
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,26 @@ | ||
/* | ||
* 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. | ||
*/ | ||
|
||
export const chartData = [ | ||
{ | ||
date: new Date('2017-02-23T08:00:00.000Z'), | ||
value: 228243469, anomalyScore: 63.32916, numberOfCauses: 1, | ||
actual: [228243469], typical: [133107.7703441773] | ||
}, | ||
{ date: new Date('2017-02-23T09:00:00.000Z'), value: null }, | ||
{ date: new Date('2017-02-23T10:00:00.000Z'), value: null }, | ||
{ date: new Date('2017-02-23T11:00:00.000Z'), value: null }, | ||
{ | ||
date: new Date('2017-02-23T12:00:00.000Z'), | ||
value: 625736376, anomalyScore: 97.32085, numberOfCauses: 1, | ||
actual: [625736376], typical: [132830.424736973] | ||
}, | ||
{ | ||
date: new Date('2017-02-23T13:00:00.000Z'), | ||
value: 201039318, anomalyScore: 59.83488, numberOfCauses: 1, | ||
actual: [201039318], typical: [132739.5267403542] | ||
} | ||
]; |
11 changes: 11 additions & 0 deletions
11
x-pack/plugins/ml/public/explorer/explorer_charts/__mocks__/mock_detectors_by_job.json
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,11 @@ | ||
{ | ||
"mock-job-id": [ | ||
{ | ||
"detector_description": "mean(responsetime)", | ||
"function": "mean", | ||
"field_name": "responsetime", | ||
"partition_field_name": "airline", | ||
"detector_index": 0 | ||
} | ||
] | ||
} |
88 changes: 88 additions & 0 deletions
88
x-pack/plugins/ml/public/explorer/explorer_charts/__mocks__/mock_job_config.json
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,88 @@ | ||
{ | ||
"job_id": "mock-job-id", | ||
"job_type": "anomaly_detector", | ||
"job_version": "7.0.0-alpha1", | ||
"description": "", | ||
"create_time": 1532692299663, | ||
"finished_time": 1532692304364, | ||
"established_model_memory": 560894, | ||
"analysis_config": { | ||
"bucket_span": "15m", | ||
"detectors": [ | ||
{ | ||
"detector_description": "mean(responsetime)", | ||
"function": "mean", | ||
"field_name": "responsetime", | ||
"partition_field_name": "airline", | ||
"detector_index": 0 | ||
} | ||
], | ||
"influencers": [ | ||
"airline" | ||
] | ||
}, | ||
"analysis_limits": { | ||
"model_memory_limit": "13mb", | ||
"categorization_examples_limit": 4 | ||
}, | ||
"data_description": { | ||
"time_field": "@timestamp", | ||
"time_format": "epoch_ms" | ||
}, | ||
"model_snapshot_retention_days": 1, | ||
"custom_settings": { | ||
"created_by": "multi-metric-wizard" | ||
}, | ||
"model_snapshot_id": "1532692303", | ||
"model_snapshot_min_version": "6.4.0", | ||
"results_index_name": "shared", | ||
"data_counts": { | ||
"job_id": "mock-job-id", | ||
"processed_record_count": 86274, | ||
"processed_field_count": 172548, | ||
"input_bytes": 6744642, | ||
"input_field_count": 172548, | ||
"invalid_date_count": 0, | ||
"missing_field_count": 0, | ||
"out_of_order_timestamp_count": 0, | ||
"empty_bucket_count": 0, | ||
"sparse_bucket_count": 0, | ||
"bucket_count": 479, | ||
"earliest_record_timestamp": 1486425600000, | ||
"latest_record_timestamp": 1486857594000, | ||
"last_data_time": 1532692303844, | ||
"input_record_count": 86274 | ||
}, | ||
"model_size_stats": { | ||
"job_id": "mock-job-id", | ||
"result_type": "model_size_stats", | ||
"model_bytes": 560894, | ||
"total_by_field_count": 21, | ||
"total_over_field_count": 0, | ||
"total_partition_field_count": 20, | ||
"bucket_allocation_failures_count": 0, | ||
"memory_status": "ok", | ||
"log_time": 1532692303000, | ||
"timestamp": 1486855800000 | ||
}, | ||
"datafeed_config": { | ||
"datafeed_id": "datafeed-mock-job-id", | ||
"job_id": "mock-job-id", | ||
"query_delay": "86658ms", | ||
"indices": [ | ||
"farequote-2017" | ||
], | ||
"types": [], | ||
"query": { | ||
"match_all": { | ||
"boost": 1 | ||
} | ||
}, | ||
"scroll_size": 1000, | ||
"chunking_config": { | ||
"mode": "auto" | ||
}, | ||
"state": "stopped" | ||
}, | ||
"state": "closed" | ||
} |
57 changes: 57 additions & 0 deletions
57
x-pack/plugins/ml/public/explorer/explorer_charts/__mocks__/mock_series_config_filebeat.json
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,57 @@ | ||
{ | ||
"jobId": "population-03", | ||
"detectorIndex": 0, | ||
"metricFunction": "sum", | ||
"timeField": "@timestamp", | ||
"interval": "1h", | ||
"datafeedConfig": { | ||
"datafeed_id": "datafeed-population-03", | ||
"job_id": "population-03", | ||
"query_delay": "60s", | ||
"frequency": "600s", | ||
"indices": [ | ||
"filebeat-7.0.0*" | ||
], | ||
"types": [ | ||
"doc" | ||
], | ||
"query": { | ||
"match_all": { | ||
"boost": 1 | ||
} | ||
}, | ||
"scroll_size": 1000, | ||
"chunking_config": { | ||
"mode": "auto" | ||
}, | ||
"state": "stopped" | ||
}, | ||
"metricFieldName": "nginx.access.body_sent.bytes", | ||
"functionDescription": "sum", | ||
"bucketSpanSeconds": 3600, | ||
"detectorLabel": "high_sum(nginx.access.body_sent.bytes) over nginx.access.remote_ip (population-03)", | ||
"fieldName": "nginx.access.body_sent.bytes", | ||
"entityFields": [ | ||
{ | ||
"fieldName": "nginx.access.remote_ip", | ||
"fieldValue": "72.57.0.53", | ||
"$$hashKey": "object:813" | ||
} | ||
], | ||
"infoTooltip": { | ||
"jobId": "population-03", | ||
"aggregationInterval": "1h", | ||
"chartFunction": "sum nginx.access.body_sent.bytes", | ||
"entityFields": [ | ||
{ | ||
"fieldName": "nginx.access.remote_ip", | ||
"fieldValue": "72.57.0.53" | ||
} | ||
] | ||
}, | ||
"loading": false, | ||
"plotEarliest": 1487534400000, | ||
"plotLatest": 1488168000000, | ||
"selectedEarliest": 1487808000000, | ||
"selectedLatest": 1487894399999 | ||
} |
Oops, something went wrong.