Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
297 commits
Select commit Hold shift + click to select a range
9d45e79
Fixed 'insertReferences' method
VladLasitsa Aug 23, 2022
0556994
Revert "Fixed custom labels."
Kuznietsov Aug 24, 2022
09973a2
Merge branch 'navigate-to-lens-context-converting-imporvement' of git…
Kuznietsov Aug 24, 2022
83060ad
Fixed custom labels.
Kuznietsov Aug 24, 2022
fac12ff
Fixed filter ratio and derivative metrics
VladLasitsa Aug 24, 2022
6070dec
fix last_value and series agg
VladLasitsa Aug 24, 2022
8e045ea
Added CounterRate formula support.
Kuznietsov Aug 24, 2022
f804cab
Merge branch 'navigate-to-lens-context-converting-imporvement' of git…
Kuznietsov Aug 24, 2022
8cbb4ad
Merge remote-tracking branch 'upstream/main' into navigate-to-lens-co…
VladLasitsa Aug 24, 2022
2c0c001
Fix types
VladLasitsa Aug 24, 2022
3e2d943
Replaced usage of timeseries.
Kuznietsov Aug 24, 2022
0bc07fd
Merge branch 'navigate-to-lens-context-converting-imporvement' of git…
Kuznietsov Aug 24, 2022
12669a3
Added window everywhere.
Kuznietsov Aug 24, 2022
9e9593c
Add std_deviation and value_count, fix some issues
VladLasitsa Aug 25, 2022
7fae45e
Fix interval for date_histogram and fix getting filter for metrics an…
VladLasitsa Aug 25, 2022
afe393d
Fix tests for 'getDatasourceSuggestionsForVisualizeCharts' except tes…
VladLasitsa Aug 25, 2022
421c39b
Refactored code.
Kuznietsov Aug 26, 2022
ca82caf
Refactoring 'createNewLayerWithMetricAggregationFromVizEditor'
VladLasitsa Aug 26, 2022
0e847fa
Removed not used code.
Kuznietsov Aug 26, 2022
3f36734
Merge branch 'navigate-to-lens-context-converting-imporvement' of git…
Kuznietsov Aug 26, 2022
8ddaed9
Removed unused import.
Kuznietsov Aug 26, 2022
f49d11a
Fixed types.
Kuznietsov Aug 26, 2022
f472b42
Removed tests with type troubles.
Kuznietsov Aug 26, 2022
3ffa2c6
Some code refactoring + formatter.
Kuznietsov Aug 26, 2022
1380bb8
Removed not used comment.
Kuznietsov Aug 26, 2022
51ef491
Added formatter validation.
Kuznietsov Aug 26, 2022
0105536
Added tests for getFormat.
Kuznietsov Aug 26, 2022
26bf0a4
Fix `getFormat` method
VladLasitsa Aug 26, 2022
8576a9b
createColumn test added.
Kuznietsov Aug 26, 2022
309a861
Merge branch 'navigate-to-lens-context-converting-imporvement' of git…
Kuznietsov Aug 26, 2022
dcbf498
Added tests for `excludeMetaFromColumn` and `isColumnWithMeta`.
Kuznietsov Aug 26, 2022
ab7ed74
Added tests for counter_rate.
Kuznietsov Aug 27, 2022
3233c51
Added tests for cumulative_sum.
Kuznietsov Aug 27, 2022
3bce624
Updated cumulative_sum tests.
Kuznietsov Aug 27, 2022
a7a6e8f
Added date_histogram tests.
Kuznietsov Aug 27, 2022
74ed9d6
Added filter ratio tests.
Kuznietsov Aug 27, 2022
2e1cafa
Filters test added.
Kuznietsov Aug 27, 2022
b653473
createFormulaColumn test added.
Kuznietsov Aug 27, 2022
299033f
convertMathToFormulaColumn test added.
Kuznietsov Aug 27, 2022
6594b8f
Added one more case to check.
Kuznietsov Aug 27, 2022
c9d089c
Added test for convertOtherAggsToFormulaColumn
Kuznietsov Aug 27, 2022
875e6ed
added more tests for formula.
Kuznietsov Aug 29, 2022
133cd0b
Added last_value tests.
Kuznietsov Aug 29, 2022
fcf9711
Added tests for moving average.
Kuznietsov Aug 29, 2022
6947132
Style fix.
Kuznietsov Aug 29, 2022
00e3fb6
Added test for convertMetricAggregationColumnWithoutSpecialParams
Kuznietsov Aug 29, 2022
4d45e3f
Add tests for metrics_helper. Update tests for filter ratio and count…
VladLasitsa Aug 29, 2022
2c9662c
Added tests for convertMetricAggregationToColumn
Kuznietsov Aug 29, 2022
85e25ed
Merge branch 'navigate-to-lens-context-converting-imporvement' of git…
Kuznietsov Aug 29, 2022
7401851
Added tests for computeParentPipelineColumns
Kuznietsov Aug 29, 2022
4608467
Added tests for convertParentPipelineAggToColumns
Kuznietsov Aug 29, 2022
588d983
Add tests for getParentPipelineSeriesFormula
VladLasitsa Aug 29, 2022
dd6cbda
Merge branch 'navigate-to-lens-context-converting-imporvement' of htt…
VladLasitsa Aug 29, 2022
538bb05
Added tests for createParentPipelineAggregationColumn
Kuznietsov Aug 29, 2022
1fdba4a
Merge branch 'navigate-to-lens-context-converting-imporvement' of git…
Kuznietsov Aug 29, 2022
28022a6
Added tests for isPercentileRanksColumnWithMeta
Kuznietsov Aug 29, 2022
615eb74
Added tests for convertToPercentileRankParams
Kuznietsov Aug 29, 2022
7335202
Update and add tests for getSiblingPipelineSeriesFormula
VladLasitsa Aug 29, 2022
70504fd
Fixed tests.
Kuznietsov Aug 29, 2022
e396964
Merge branch 'navigate-to-lens-context-converting-imporvement' of git…
Kuznietsov Aug 29, 2022
fedee6d
Added tests for convertToPercentileRankColumn.
Kuznietsov Aug 29, 2022
1fd32b8
Added tests for convertToPercentileRankColumns.
Kuznietsov Aug 29, 2022
a99a96c
Added tests for percentile.
Kuznietsov Aug 29, 2022
3a850e1
Added tests for static_value.
Kuznietsov Aug 29, 2022
eb9fabf
Add tests for isValidMetrics
VladLasitsa Aug 29, 2022
55e5794
Added std_deviation tests.
Kuznietsov Aug 29, 2022
d8e24a0
Merge branch 'navigate-to-lens-context-converting-imporvement' of git…
Kuznietsov Aug 29, 2022
eb6e245
Added tests for terms.
Kuznietsov Aug 29, 2022
69b2499
Added tests.
Kuznietsov Aug 30, 2022
2a4e0fa
Merge branch 'main' into navigate-to-lens-context-converting-imporvement
Kuznietsov Aug 30, 2022
99f86e2
Add tests for getLayers in xy configuration
VladLasitsa Aug 30, 2022
c65115a
Rename window to reducedTimeRange
VladLasitsa Aug 30, 2022
f47e4cf
Added test for getBucketsColumns
Kuznietsov Aug 30, 2022
5442fed
Merge branch 'navigate-to-lens-context-converting-imporvement' of git…
Kuznietsov Aug 30, 2022
d041782
Fixed tests for parent_pipeline.
Kuznietsov Aug 30, 2022
42ab033
Added tests for getValidColumns
Kuznietsov Aug 30, 2022
b5f55f2
Added tests for getMetricsColumns
VladLasitsa Aug 30, 2022
d63061f
Removed empty new.index.ts of top_n.
Kuznietsov Aug 30, 2022
d57f02a
Merge branch 'navigate-to-lens-context-converting-imporvement' of git…
Kuznietsov Aug 30, 2022
689b52b
Configuration refactored.
Kuznietsov Aug 30, 2022
6c7fbbd
Added tests for getConfigurationForTimeseries and getConfigurationFor…
VladLasitsa Aug 30, 2022
0fe7efc
Added tests for timeseries/index.ts
Kuznietsov Aug 30, 2022
2a24a95
Merge branch 'navigate-to-lens-context-converting-imporvement' of git…
Kuznietsov Aug 30, 2022
da89591
Added test for top_n.
Kuznietsov Aug 30, 2022
2a04190
Refactored getSuggestionFromConvertToLensContext at suggestion_helpers.
Kuznietsov Aug 30, 2022
703f03d
Merge branch 'main' into navigate-to-lens-context-converting-imporvement
kibanamachine Sep 1, 2022
873eac7
Fix format
VladLasitsa Sep 1, 2022
e3b98a2
Fix types
VladLasitsa Sep 1, 2022
144a7a2
Remove unused code
VladLasitsa Sep 1, 2022
c0b43ba
Fix tests
VladLasitsa Sep 1, 2022
7e28d79
Fix bucket columns test
VladLasitsa Sep 1, 2022
6829e85
Init comment. Add column and supported metric, update types for vis s…
VladLasitsa Sep 2, 2022
df426b2
Added percentile.
Kuznietsov Sep 2, 2022
8b58bd1
Added percentile_rank.
Kuznietsov Sep 2, 2022
1ce9ac2
Add metric column without special params
VladLasitsa Sep 2, 2022
53ac257
Added new type for AggParamsMapping.
Kuznietsov Sep 2, 2022
753f7bf
Merge branch 'navigate-to-lens-agg-based-vis' of https://github.com/V…
Kuznietsov Sep 5, 2022
3d0a72d
Added cumulative_sum converter.
Kuznietsov Sep 5, 2022
0184d97
Replaced cumulative_sum with common parent_pipeline.
Kuznietsov Sep 5, 2022
e7a6df9
Add sibling pipeline agg and date histogram column converter
VladLasitsa Sep 5, 2022
7eb0c35
Added getColumnsFromVis method.
Kuznietsov Sep 5, 2022
3479653
Merge branch 'navigate-to-lens-agg-based-vis' of https://github.com/V…
Kuznietsov Sep 5, 2022
2132497
Fixed formulas nad added support of value_count.
Kuznietsov Sep 5, 2022
4b4ac56
Added navigateToLens functionality to visEditor table.
Kuznietsov Sep 5, 2022
0903a23
Fixed eslint errors.
Kuznietsov Sep 5, 2022
340d9ae
Add convertBucketToColumns and some small updates
VladLasitsa Sep 5, 2022
f29c8cf
Merge branch 'main' into navigate-to-lens-agg-based-vis
Kuznietsov Sep 6, 2022
0bc079c
Fixed problems with converting.
Kuznietsov Sep 6, 2022
46f058d
Fixed Avg.
Kuznietsov Sep 6, 2022
7d92446
Added median.
Kuznietsov Sep 6, 2022
453ea51
Fixed percentile and percentile_ranks.
Kuznietsov Sep 6, 2022
eb04b31
Add terms and filters column, fix problem with changing index pattern…
VladLasitsa Sep 6, 2022
f33e3da
Fixed std_dev.
Kuznietsov Sep 6, 2022
2f7e5e7
Merge branch 'navigate-to-lens-agg-based-vis' of https://github.com/V…
Kuznietsov Sep 6, 2022
be59d0f
update convert to lens for datatable
VladLasitsa Sep 6, 2022
796bb79
Fixed dateHistogram labels.
Kuznietsov Sep 7, 2022
7a9b9df
Fix terms converter
VladLasitsa Sep 7, 2022
b4c214b
Merge branch 'main' into navigate-to-lens-context-converting-imporvement
kibanamachine Sep 7, 2022
0318990
Fixed percentile/percentile_ranks/std_deviation.
Kuznietsov Sep 7, 2022
8801dcf
Fixed sum.
Kuznietsov Sep 7, 2022
9993474
Fixed cumulative_sum with value count.
Kuznietsov Sep 7, 2022
ac69c8a
Fix counter rate metric and remove unused comments
VladLasitsa Sep 7, 2022
4f21ff8
Added validation for *_bucket metrics.
Kuznietsov Sep 7, 2022
08d8196
Added timeshift, where it is possible.
Kuznietsov Sep 7, 2022
8a960b3
Fixed type.
Kuznietsov Sep 7, 2022
2bcc834
Add support of percentage column for datatable
VladLasitsa Sep 7, 2022
1f53f2d
Fixed formats.
Kuznietsov Sep 7, 2022
9b82a22
Merge branch 'navigate-to-lens-agg-based-vis' of https://github.com/V…
Kuznietsov Sep 7, 2022
e4d5676
Add trigger for agg based visualizations
VladLasitsa Sep 7, 2022
08f3659
Fix formats
VladLasitsa Sep 8, 2022
a3a8de5
Some refactoring
VladLasitsa Sep 8, 2022
454d28a
Added configuration.
Kuznietsov Sep 8, 2022
8af7e6a
Merge branch 'navigate-to-lens-agg-based-vis' of https://github.com/V…
Kuznietsov Sep 8, 2022
4e3862e
Fixed suggestions.
Kuznietsov Sep 8, 2022
bdd1ca5
Add dropEmptyRowsInDateHistogram param
VladLasitsa Sep 8, 2022
b38807e
excluded meta.
Kuznietsov Sep 8, 2022
c617f3e
Merge branch 'navigate-to-lens-agg-based-vis' of https://github.com/V…
Kuznietsov Sep 8, 2022
f466102
Refactored imports.
Kuznietsov Sep 8, 2022
d93fa34
Fixed label.
Kuznietsov Sep 9, 2022
6cb16fd
Added last_value.
Kuznietsov Sep 9, 2022
96d52d3
Provide collapseFn for bucket columns
VladLasitsa Sep 9, 2022
a08ef9d
Merge remote-tracking branch 'upstream/main' into navigate-to-lens-co…
VladLasitsa Sep 9, 2022
eae71b9
Added percentile/percentile_rank labels fix.
Kuznietsov Sep 9, 2022
99833c7
Merge branch 'navigate-to-lens-agg-based-vis' of https://github.com/V…
Kuznietsov Sep 9, 2022
226bef8
Fix sibling aggs converter
VladLasitsa Sep 9, 2022
2bd965c
Refactored convertToSchemaConfig
Kuznietsov Sep 9, 2022
f4c8ac9
Fixed terms
VladLasitsa Sep 9, 2022
cc9e08a
Fixed problem with showing sub metrics on UI
VladLasitsa Sep 9, 2022
f98f3c9
Merge branch 'main' into navigate-to-lens-context-converting-imporvement
flash1293 Sep 12, 2022
8689daf
Moved out convertToSchemaConfig.
Kuznietsov Sep 12, 2022
26e38b4
Fixed types.
Kuznietsov Sep 12, 2022
15daf47
Converted IAggConfig to SchemaConfig.
Kuznietsov Sep 12, 2022
3e39342
Fixed pipeline and terms aggs. Added timeShift arg.
VladLasitsa Sep 12, 2022
1e8ef4b
[CI] Auto-commit changed files from 'node scripts/precommit_hook.js -…
kibanamachine Sep 12, 2022
9ca095b
Fixed tests
VladLasitsa Sep 12, 2022
e75d5d0
Added support of nested parent pipeline metrics.
Kuznietsov Sep 12, 2022
dd0165c
Fixed formats.
Kuznietsov Sep 13, 2022
9908612
Merge branch 'main' into navigate-to-lens-context-converting-imporvement
Kuznietsov Sep 13, 2022
c3a443c
Fixed cumulative sum by value count.
Kuznietsov Sep 13, 2022
89f6945
Fixed percentile and percentile ranks.
Kuznietsov Sep 13, 2022
cc3fcd8
Fixed tests.
Kuznietsov Sep 13, 2022
018ea3c
One more fix.
Kuznietsov Sep 13, 2022
3743c4d
Fixed timeShift
VladLasitsa Sep 13, 2022
a23795c
[CI] Auto-commit changed files from 'node scripts/precommit_hook.js -…
kibanamachine Sep 13, 2022
d275207
Merge branch 'navigate-to-lens-context-converting-imporvement' into n…
Kuznietsov Sep 13, 2022
040d76d
Fixed std_deviation labels.
Kuznietsov Sep 13, 2022
9bf23da
Fixed percentage column and labels for sibling pipeline aggs
VladLasitsa Sep 13, 2022
1625b30
Fixed getDataSourceInfo method
VladLasitsa Sep 13, 2022
f875c40
Merge branch 'navigate-to-lens-context-converting-imporvement' into n…
Kuznietsov Sep 14, 2022
eedb52f
added track if the rendered table is able to be converted to Lens
VladLasitsa Sep 14, 2022
dcf8339
Added support of nested parent pipeline aggs.
Kuznietsov Sep 14, 2022
8dcc318
Merge branch 'navigate-to-lens-agg-based-vis' of https://github.com/V…
Kuznietsov Sep 14, 2022
7a7199b
Added base configuration for metric.
Kuznietsov Sep 14, 2022
89c495c
Fixed series validation.
Kuznietsov Sep 15, 2022
5f47083
Merge branch 'main' into navigate-to-lens-agg-based-vis
Kuznietsov Sep 15, 2022
e54153b
Merge branch 'navigate-to-lens-agg-based-vis' into navigate-to-lens-t…
Kuznietsov Sep 15, 2022
12c4bf0
Fixed unit tests
VladLasitsa Sep 15, 2022
00fcff4
Fix column order
VladLasitsa Sep 15, 2022
28d38e6
[CI] Auto-commit changed files from 'node scripts/precommit_hook.js -…
kibanamachine Sep 15, 2022
b50bd4f
Added palette support.
Kuznietsov Sep 15, 2022
bde1b28
Added shard_delay to SUPPORTED_AGGREGATIONS array and fixed limits
VladLasitsa Sep 16, 2022
f73c8ad
Merge branch 'navigate-to-lens-agg-based-vis' into navigate-to-lens-t…
Kuznietsov Sep 16, 2022
1bdca44
Fixed mock for xy/vislib unti tests
VladLasitsa Sep 16, 2022
e05dd54
[CI] Auto-commit changed files from 'node scripts/precommit_hook.js -…
kibanamachine Sep 16, 2022
3dc2d80
Fixed series agg behavior at metrics.
Kuznietsov Sep 16, 2022
0bd12a6
Fixed problem with all LTE.
Kuznietsov Sep 16, 2022
a0e7b25
Merge branch 'main' into navigate-to-lens-agg-based-vis
Kuznietsov Sep 16, 2022
9790b63
Merge branch 'navigate-to-lens-agg-based-vis' into navigate-to-lens-t…
Kuznietsov Sep 16, 2022
fce6d62
Added tests for metric.
Kuznietsov Sep 16, 2022
d402eba
Added tests for getUniqueBuckets.
Kuznietsov Sep 16, 2022
0a711c2
Merge branch 'main' into navigate-to-lens-tsvb-metric
Kuznietsov Sep 19, 2022
4bd023e
Fixed tests.
Kuznietsov Sep 19, 2022
3631fec
Small refactoring of getColumnsFromVis.
Kuznietsov Sep 19, 2022
17dcc3f
Refactored for tests purpose.
Kuznietsov Sep 19, 2022
5661c59
Added tests for utils.
Kuznietsov Sep 19, 2022
b95af9e
Added tests for isValidVis.
Kuznietsov Sep 19, 2022
7583d94
Added tests for getMetricsWithoutDuplicates
Kuznietsov Sep 19, 2022
73c97a8
Added tests for sortColumns.
Kuznietsov Sep 19, 2022
7028701
Added getColumnIds.
Kuznietsov Sep 19, 2022
5078d29
Added unit tests for table configuration
VladLasitsa Sep 19, 2022
09f40b1
[CI] Auto-commit changed files from 'node scripts/precommit_hook.js -…
kibanamachine Sep 19, 2022
04138cf
Added tests for schemas.
Kuznietsov Sep 19, 2022
28e3968
Merge branch 'navigate-to-lens-agg-based-vis' of https://github.com/V…
Kuznietsov Sep 19, 2022
e233527
Merge branch 'main' into navigate-to-lens-agg-based-vis
kibanamachine Sep 19, 2022
a0515bf
Reduced bundle size.
Kuznietsov Sep 20, 2022
0bf11c3
Merge branch 'main' into navigate-to-lens-agg-based-vis
mbondyra Sep 21, 2022
3494b2a
Fixed annotations.
Kuznietsov Sep 21, 2022
312007b
Removed export.
Kuznietsov Sep 22, 2022
df713e0
Fixed terms column
VladLasitsa Sep 22, 2022
c8eb8d7
Update src/plugins/vis_types/table/public/convert_to_lens/configurati…
Kuznietsov Sep 22, 2022
2485396
Added support of ranges and histograms
VladLasitsa Sep 22, 2022
4f7c86a
[CI] Auto-commit changed files from 'node scripts/eslint --no-cache -…
kibanamachine Sep 22, 2022
76f5507
Added supporting of split series + sibling pipeline aggs
VladLasitsa Sep 22, 2022
3414ab7
Fix getBucketCollapseFn method
VladLasitsa Sep 22, 2022
dcd96c0
Fixed problem with invalid fields.
Kuznietsov Sep 22, 2022
44839a1
Merge branch 'navigate-to-lens-agg-based-vis' of https://github.com/V…
Kuznietsov Sep 22, 2022
659b855
Update src/plugins/visualizations/common/convert_to_lens/lib/convert/…
Kuznietsov Sep 22, 2022
ad483f7
Fixed problem with removed index pattern.
Kuznietsov Sep 22, 2022
efa97ef
Merge branch 'navigate-to-lens-agg-based-vis' of https://github.com/V…
Kuznietsov Sep 22, 2022
4e2cd3c
Fixed types in timeseries supported metrics.
Kuznietsov Sep 22, 2022
5c1a431
Fixed tests.
Kuznietsov Sep 22, 2022
e2777fb
Merge branch 'main' into navigate-to-lens-agg-based-vis
kibanamachine Sep 22, 2022
5d6adee
Fixed tests
VladLasitsa Sep 23, 2022
405e32c
Merge branch 'navigate-to-lens-agg-based-vis' into navigate-to-lens-t…
Kuznietsov Sep 23, 2022
3d69104
Merge branch 'main' into navigate-to-lens-agg-based-vis
Kuznietsov Sep 23, 2022
446e6b7
Fixed metrics.
Kuznietsov Sep 23, 2022
37d074e
Fixed import.
Kuznietsov Sep 23, 2022
d10653b
Provided dataView to all the formula functions.
Kuznietsov Sep 23, 2022
651353a
Merge branch 'navigate-to-lens-agg-based-vis' of https://github.com/V…
Kuznietsov Sep 23, 2022
45a165c
Added checking field type for formula
VladLasitsa Sep 23, 2022
fb1dd5a
Merge branch 'main' into navigate-to-lens-tsvb-metric
Kuznietsov Sep 23, 2022
a920eac
Fixed bundle size.
Kuznietsov Sep 23, 2022
cfbf44a
Merge branch 'navigate-to-lens-agg-based-vis' into navigate-to-lens-t…
Kuznietsov Sep 23, 2022
f5d40e7
Merge branch 'navigate-to-lens-tsvb-metric' of https://github.com/Vla…
Kuznietsov Sep 23, 2022
7f6ed7d
Merge branch 'main' into navigate-to-lens-tsvb-metric
Kuznietsov Sep 26, 2022
6d972b8
Merge branch 'main' into navigate-to-lens-tsvb-metric
Kuznietsov Sep 26, 2022
02c0be8
Added gauge support (basic).
Kuznietsov Sep 27, 2022
e232af1
Merge branch 'main' into navigate-to-lens-tsvb-gauge
Kuznietsov Sep 29, 2022
12f1ddf
Fixed types.
Kuznietsov Sep 29, 2022
6f488ee
Fixed types.
Kuznietsov Sep 29, 2022
6c78834
Fixed static value and refactored code.
Kuznietsov Sep 29, 2022
8eab873
Updated tests.
Kuznietsov Sep 29, 2022
14ce425
Removed code duplicates.
Kuznietsov Sep 29, 2022
125c115
Added tests for getConfigurationForMetric.
Kuznietsov Sep 29, 2022
a51929d
Added tests for getConfigurationForGauge.
Kuznietsov Sep 29, 2022
cb641b5
Added tests for gauge.
Kuznietsov Sep 29, 2022
a594166
Fixed palette for gauge.
Kuznietsov Sep 30, 2022
4b32ec3
Added functional tests.
Kuznietsov Sep 30, 2022
469e354
Merge branch 'main' into navigate-to-lens-tsvb-gauge
Kuznietsov Oct 3, 2022
af1f1b5
Merge branch 'main' into navigate-to-lens-tsvb-gauge
flash1293 Oct 4, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,171 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/

import { METRIC_TYPES } from '@kbn/data-plugin/public';
import { stubLogstashDataView } from '@kbn/data-views-plugin/common/data_view.stub';
import { TSVB_METRIC_TYPES } from '../../../common/enums';
import { Metric } from '../../../common/types';
import { convertToLens } from '.';
import { createPanel, createSeries } from '../lib/__mocks__';
import { AvgColumn } from '../lib/convert';

const mockGetMetricsColumns = jest.fn();
const mockGetBucketsColumns = jest.fn();
const mockGetConfigurationForGauge = jest.fn();
const mockIsValidMetrics = jest.fn();
const mockGetDatasourceValue = jest
.fn()
.mockImplementation(() => Promise.resolve(stubLogstashDataView));
const mockGetDataSourceInfo = jest.fn();
const mockGetSeriesAgg = jest.fn();

jest.mock('../../services', () => ({
getDataViewsStart: jest.fn(() => mockGetDatasourceValue),
}));

jest.mock('../lib/series', () => ({
getMetricsColumns: jest.fn(() => mockGetMetricsColumns()),
getBucketsColumns: jest.fn(() => mockGetBucketsColumns()),
getSeriesAgg: jest.fn(() => mockGetSeriesAgg()),
}));

jest.mock('../lib/configurations/metric', () => ({
getConfigurationForGauge: jest.fn(() => mockGetConfigurationForGauge()),
}));

jest.mock('../lib/metrics', () => {
const actual = jest.requireActual('../lib/metrics');
return {
isValidMetrics: jest.fn(() => mockIsValidMetrics()),
getReducedTimeRange: jest.fn().mockReturnValue('10'),
SUPPORTED_METRICS: actual.SUPPORTED_METRICS,
getFormulaFromMetric: actual.getFormulaFromMetric,
};
});

jest.mock('../lib/datasource', () => ({
getDataSourceInfo: jest.fn(() => mockGetDataSourceInfo()),
}));

describe('convertToLens', () => {
const metric = { id: 'some-id', type: METRIC_TYPES.AVG, field: 'test-field' };
const model = createPanel({
series: [createSeries({ metrics: [metric] })],
});

const metricColumn: AvgColumn = {
columnId: 'col-id',
dataType: 'number',
isSplit: false,
isBucketed: false,
meta: { metricId: metric.id },
operationType: 'average',
sourceField: metric.field,
params: {},
reducedTimeRange: '10m',
};

beforeEach(() => {
mockIsValidMetrics.mockReturnValue(true);
mockGetDataSourceInfo.mockReturnValue({
indexPatternId: 'test-index-pattern',
timeField: 'timeField',
indexPattern: { id: 'test-index-pattern' },
});
mockGetMetricsColumns.mockReturnValue([{}]);
mockGetBucketsColumns.mockReturnValue([{}]);
mockGetConfigurationForGauge.mockReturnValue({});
mockGetSeriesAgg.mockReturnValue({ metrics: [] });
});

afterEach(() => {
jest.clearAllMocks();
});

test('should return null for invalid metrics', async () => {
mockIsValidMetrics.mockReturnValue(null);
const result = await convertToLens(model);
expect(result).toBeNull();
expect(mockIsValidMetrics).toBeCalledTimes(1);
});

test('should return null for invalid or unsupported metrics', async () => {
mockGetMetricsColumns.mockReturnValue(null);
const result = await convertToLens(model);
expect(result).toBeNull();
expect(mockGetMetricsColumns).toBeCalledTimes(1);
});

test('should return null for invalid or unsupported buckets', async () => {
mockGetBucketsColumns.mockReturnValue(null);
const result = await convertToLens(model);
expect(result).toBeNull();
expect(mockGetBucketsColumns).toBeCalledTimes(1);
});

test('should return null if metric is staticValue', async () => {
const result = await convertToLens({
...model,
series: [
{
...model.series[0],
metrics: [...model.series[0].metrics, { type: TSVB_METRIC_TYPES.STATIC } as Metric],
},
],
});
expect(result).toBeNull();
expect(mockGetDataSourceInfo).toBeCalledTimes(0);
});

test('should return null if only series agg is specified', async () => {
const result = await convertToLens({
...model,
series: [
{
...model.series[0],
metrics: [
{ type: TSVB_METRIC_TYPES.SERIES_AGG, function: 'min', id: 'some-id' } as Metric,
],
},
],
});
expect(result).toBeNull();
});

test('should return null configuration is not valid', async () => {
mockGetMetricsColumns.mockReturnValue([metricColumn]);
mockGetSeriesAgg.mockReturnValue({ metrics: [metric] });
mockGetConfigurationForGauge.mockReturnValue(null);

const result = await convertToLens(model);
expect(result).toBeNull();
});

test('should return state', async () => {
mockGetMetricsColumns.mockReturnValue([metricColumn]);
mockGetSeriesAgg.mockReturnValue({ metrics: [metric] });
mockGetConfigurationForGauge.mockReturnValue({});

const result = await convertToLens(
createPanel({
series: [
createSeries({
metrics: [{ id: 'some-id', type: METRIC_TYPES.AVG, field: 'test-field' }],
hidden: false,
}),
createSeries({
metrics: [{ id: 'some-id', type: METRIC_TYPES.AVG, field: 'test-field' }],
hidden: false,
}),
],
})
);
expect(result).toBeDefined();
expect(result?.type).toBe('lnsMetric');
});
});
139 changes: 139 additions & 0 deletions src/plugins/vis_types/timeseries/public/convert_to_lens/gauge/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/

import uuid from 'uuid';
import { parseTimeShift } from '@kbn/data-plugin/common';
import {
FormulaColumn,
getIndexPatternIds,
StaticValueColumn,
} from '@kbn/visualizations-plugin/common/convert_to_lens';
import { PANEL_TYPES, TSVB_METRIC_TYPES } from '../../../common/enums';
import { Metric } from '../../../common/types';
import { getDataViewsStart } from '../../services';
import { getDataSourceInfo } from '../lib/datasource';
import { getMetricsColumns, getBucketsColumns } from '../lib/series';
import { getConfigurationForGauge as getConfiguration } from '../lib/configurations/metric';
import {
getFormulaFromMetric,
getReducedTimeRange,
isValidMetrics,
SUPPORTED_METRICS,
} from '../lib/metrics';
import { ConvertTsvbToLensVisualization } from '../types';
import {
Column,
createFormulaColumnWithoutMeta,
createStaticValueColumn,
Layer as ExtendedLayer,
} from '../lib/convert';
import { excludeMetaFromLayers, findMetricColumn, getMetricWithCollapseFn } from '../utils';

const getMaxFormula = (metric: Metric, column?: Column) => {
const baseFormula = `overall_max`;
if (column && column.operationType === 'formula') {
return `${baseFormula}(${column.params.formula})`;
}

return `${baseFormula}(${getFormulaFromMetric(SUPPORTED_METRICS[metric.type]!)}(${
metric.field ?? ''
}))`;
};

export const convertToLens: ConvertTsvbToLensVisualization = async (model, timeRange) => {
const dataViews = getDataViewsStart();

const series = model.series[0];
// not valid time shift
if (series.offset_time && parseTimeShift(series.offset_time) === 'invalid') {
return null;
}

if (!isValidMetrics(series.metrics, PANEL_TYPES.GAUGE, series.time_range_mode)) {
return null;
}

if (series.metrics[series.metrics.length - 1].type === TSVB_METRIC_TYPES.STATIC) {
return null;
}

const reducedTimeRange = getReducedTimeRange(model, series, timeRange);
const datasourceInfo = await getDataSourceInfo(
model.index_pattern,
model.time_field,
Boolean(series.override_index_pattern),
series.series_index_pattern,
series.series_time_field,
dataViews
);

if (!datasourceInfo) {
return null;
}

const { indexPatternId, indexPattern } = datasourceInfo;

// handle multiple metrics
const metricsColumns = getMetricsColumns(series, indexPattern!, model.series.length, {
reducedTimeRange,
});
if (metricsColumns === null) {
return null;
}

const bucketsColumns = getBucketsColumns(model, series, metricsColumns, indexPattern!, false);

if (bucketsColumns === null) {
return null;
}

const [bucket] = bucketsColumns;

const extendedLayer: ExtendedLayer = {
indexPatternId,
layerId: uuid(),
columns: [...metricsColumns, ...(bucket ? [bucket] : [])],
columnOrder: [],
};

const primarySeries = model.series[0];
const primaryMetricWithCollapseFn = getMetricWithCollapseFn(primarySeries);

if (!primaryMetricWithCollapseFn || !primaryMetricWithCollapseFn.metric) {
return null;
}

const primaryColumn = findMetricColumn(primaryMetricWithCollapseFn.metric, extendedLayer.columns);
if (!primaryColumn) {
return null;
}

let gaugeMaxColumn: StaticValueColumn | FormulaColumn | null = createFormulaColumnWithoutMeta(
getMaxFormula(primaryMetricWithCollapseFn.metric, primaryColumn)
);
if (model.gauge_max !== undefined && model.gauge_max !== '') {
gaugeMaxColumn = createStaticValueColumn(model.gauge_max);
}

const layer = {
...extendedLayer,
columns: [...extendedLayer.columns, gaugeMaxColumn],
};
const configuration = getConfiguration(model, layer, bucket, gaugeMaxColumn ?? undefined);
if (!configuration) {
return null;
}

const layers = Object.values(excludeMetaFromLayers({ 0: layer }));
return {
type: 'lnsMetric',
layers,
configuration,
indexPatternIds: getIndexPatternIds(layers),
};
};
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ const getConvertFnByType = (type: PANEL_TYPES) => {
const { convertToLens } = await import('./metric');
return convertToLens;
},
[PANEL_TYPES.GAUGE]: async () => {
const { convertToLens } = await import('./gauge');
return convertToLens;
},
};

return convertionFns[type]?.();
Expand Down
Loading