From eefce68015d081bf2c15c845590ff12fd73e28b4 Mon Sep 17 00:00:00 2001 From: Teddy Date: Tue, 10 Oct 2023 07:04:40 +0200 Subject: [PATCH] fix: updated DI cost analysis aggregated report (#13498) --- .../data_insights/data_insights.json | 2 +- ...AggregatedUnusedAssetsCountAggregator.java | 42 +++++++++------ .../AggregatedUnusedAssetsSizeAggregator.java | 42 +++++++++------ .../elasticsearch/ElasticSearchClient.java | 53 ++++++++++--------- .../aggregatedUnusedAssetsCount.json | 18 ++++--- .../aggregatedUnusedAssetsSize.json | 18 ++++--- .../aggregatedUsedvsUnusedAssetsCount.json | 4 +- .../aggregatedUsedvsUnusedAssetsSize.json | 4 +- .../type/aggregatedUnusedAssetsCount.json | 29 +++------- .../type/aggregatedUnusedAssetsSize.json | 28 +++------- 10 files changed, 118 insertions(+), 122 deletions(-) diff --git a/ingestion/examples/sample_data/data_insights/data_insights.json b/ingestion/examples/sample_data/data_insights/data_insights.json index 0c8dcf90020..613d7dd6854 100644 --- a/ingestion/examples/sample_data/data_insights/data_insights.json +++ b/ingestion/examples/sample_data/data_insights/data_insights.json @@ -20,7 +20,7 @@ {"id":"b7f4f28c-df63-4060-9e18-89ed33d3508d","timestamp":1696232067205,"reportDataType":"AggregatedCostAnalysisReportData","data":{"unusedDataAssets":{"count":{"threeDays":14,"sevenDays":11,"fourteenDays":7,"thirtyDays":3,"sixtyDays":1},"size":{"threeDays":8574,"sevenDays":8103,"fourteenDays":451,"thirtyDays":2456,"sixtyDays":4537},"totalSize":8574,"totalCount":14},"frequentlyUsedDataAssets":{"count":{"threeDays":1,"sevenDays":4,"fourteenDays":8,"thirtyDays":12,"sixtyDays":14},"size":{"threeDays":30844,"sevenDays":38723,"fourteenDays":3246,"thirtyDays":7824,"sixtyDays":6758},"totalSize":30844,"totalCount":1},"totalCount":39418,"totalSize":15,"serviceName":"sample_data","serviceType":"BigQuery","entityType":"Table","serviceOwner":null},"entityType":"aggregatedCostAnalysisReportData"}, {"id":"b7f4f28c-df63-4060-9e18-89ed33d3508d","timestamp":1696232067205,"reportDataType":"AggregatedCostAnalysisReportData","data":{"unusedDataAssets":{"count":{"threeDays":18,"sevenDays":8,"fourteenDays":11,"thirtyDays":3,"sixtyDays":10},"size":{"threeDays":32423,"sevenDays":4543,"fourteenDays":3414,"thirtyDays":4532,"sixtyDays":34435},"totalSize":32423,"totalCount":18},"frequentlyUsedDataAssets":{"count":{"threeDays":2,"sevenDays":5,"fourteenDays":9,"thirtyDays":13,"sixtyDays":15},"size":{"threeDays":3341,"sevenDays":795,"fourteenDays":3492,"thirtyDays":1233,"sixtyDays":5647},"totalSize":3341,"totalCount":2},"totalSize":35764,"totalCount":20,"serviceName":"sample_data","serviceType":"Snowflake","entityType":"Table","serviceOwner":null},"entityType":"aggregatedCostAnalysisReportData"}, {"id":"b7f4f28c-df63-4060-9e18-89ed33d3508d","timestamp":1696232067205,"reportDataType":"AggregatedCostAnalysisReportData","data":{"unusedDataAssets":{"count":{"threeDays":20,"sevenDays":15,"fourteenDays":10,"thirtyDays":5,"sixtyDays":2},"size":{"threeDays":12000,"sevenDays":11000,"fourteenDays":700,"thirtyDays":3500,"sixtyDays":1800},"totalSize":12000,"totalCount":20},"frequentlyUsedDataAssets":{"count":{"threeDays":2,"sevenDays":8,"fourteenDays":15,"thirtyDays":20,"sixtyDays":25},"size":{"threeDays":60000,"sevenDays":75000,"fourteenDays":6000,"thirtyDays":12000,"sixtyDays":10000},"totalSize":60000,"totalCount":2},"totalSize":72000,"totalCount":12,"serviceName":"sample_data","serviceType":"AzureSQL","entityType":"Table","serviceOwner":null},"entityType":"aggregatedCostAnalysisReportData"}, - {"id":"b7f4f28c-df63-4060-9e18-89ed33d3508d","timestamp":1696232067205,"reportDataType":"AggregatedCostAnalysisReportData","data":{"unusedDataAssets":{"count":{"threeDays":18,"sevenDays":13,"fourteenDays":9,"thirtyDays":4,"sixtyDays":2.5},"size":{"threeDays":10000,"sevenDays":9500,"fourteenDays":600,"thirtyDays":3100,"sixtyDays":2000},"totalSize":10000,"totalCount":18},"frequentlyUsedDataAssets":{"count":{"threeDays":3,"sevenDays":7,"fourteenDays":12,"thirtyDays":15,"sixtyDays":20},"size":{"threeDays":55000,"sevenDays":68000,"fourteenDays":5500,"thirtyDays":11000,"sixtyDays":9000},"totalSize":55000,"totalCount":3},"totalSize":65000,"totalCount":21,"serviceName":"sample_data","serviceType":"Redshift","entityType":"Table","serviceOwner":null},"entityType":"aggregatedCostAnalysisReportData"} + {"id":"b7f4f28c-df63-4060-9e18-89ed33d3508d","timestamp":1696232067205,"reportDataType":"AggregatedCostAnalysisReportData","data":{"unusedDataAssets":{"count":{"threeDays":18,"sevenDays":13,"fourteenDays":9,"thirtyDays":4,"sixtyDays":2},"size":{"threeDays":10000,"sevenDays":9500,"fourteenDays":600,"thirtyDays":3100,"sixtyDays":2000},"totalSize":10000,"totalCount":18},"frequentlyUsedDataAssets":{"count":{"threeDays":3,"sevenDays":7,"fourteenDays":12,"thirtyDays":15,"sixtyDays":20},"size":{"threeDays":55000,"sevenDays":68000,"fourteenDays":5500,"thirtyDays":11000,"sixtyDays":9000},"totalSize":55000,"totalCount":3},"totalSize":65000,"totalCount":21,"serviceName":"sample_data","serviceType":"Redshift","entityType":"Table","serviceOwner":null},"entityType":"aggregatedCostAnalysisReportData"} ], "RawCostAnalysisReportData": [ {"id":"e8feffaa-3277-461c-9261-b967d2aee2dd","timestamp":1696232067205,"reportDataType":"RawCostAnalysisReportData","data":{"entity":{"id":"34c63f1b-36f8-43ab-9420-aa1fc550653a","type":"table","name":null,"fullyQualifiedName":"sample_data.ecommerce_db.shopify.fact_session","description":"This fact table contains information about the visitors to your online store. This table has one row per session, where one session can contain many page views. If you use Urchin Traffic Module (UTM) parameters in marketing campaigns, then you can use this table to track how many customers they direct to your store.","displayName":null,"deleted":null,"href":"http://openmetadata-server:8585/api/v1/tables/34c63f1b-36f8-43ab-9420-aa1fc550653a"},"lifeCycle":{"created":{"timestamp":1695022318000,"accessedBy":null,"accessedByAProcess":"Alice"},"updated":{"timestamp":1695195118000,"accessedBy":null,"accessedByAProcess":"Bob"},"accessed":{"timestamp":1695454318000,"accessedBy":null,"accessedByAProcess":"Charlie"}},"sizeInByte":16890.0},"entityType":"rawCostAnalysisReportData"}, diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/dataInsight/AggregatedUnusedAssetsCountAggregator.java b/openmetadata-service/src/main/java/org/openmetadata/service/dataInsight/AggregatedUnusedAssetsCountAggregator.java index ac3bd02e32a..6ed6bb87127 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/dataInsight/AggregatedUnusedAssetsCountAggregator.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/dataInsight/AggregatedUnusedAssetsCountAggregator.java @@ -3,7 +3,7 @@ package org.openmetadata.service.dataInsight; import java.text.ParseException; import java.util.ArrayList; import java.util.List; -import java.util.Objects; +import org.openmetadata.schema.analytics.DataAssetValues; import org.openmetadata.schema.dataInsight.type.AggregatedUnusedAssetsCount; public abstract class AggregatedUnusedAssetsCountAggregator implements DataInsightAggregatorInterface { @@ -20,26 +20,34 @@ public abstract class AggregatedUnusedAssetsCountAggregator implemen for (B bucket : getBuckets(histogramBucket)) { String dateTimeString = getKeyAsString(bucket); Long timestamp = convertDatTimeStringToTimestamp(dateTimeString); - S threeDays = getAggregations(bucket, "threeDays"); - S sevenDays = getAggregations(bucket, "sevenDays"); - S fourteenDays = getAggregations(bucket, "fourteenDays"); - S thirtyDays = getAggregations(bucket, "thirtyDays"); - S sixtyDays = getAggregations(bucket, "sixtyDays"); - S totalUnused = getAggregations(bucket, "totalUnused"); - S totalUsed = getAggregations(bucket, "totalUsed"); - Double used = Objects.requireNonNullElse(getValue(totalUsed), 0.0); - Double unused = Objects.requireNonNullElse(getValue(totalUnused), 0.0); - Double total = used + unused; + S unusedThreeDays = getAggregations(bucket, "unusedDataAssetsThreeDays"); + S unusedSevenDays = getAggregations(bucket, "unusedDataAssetsSevenDays"); + S unusedFourteenDays = getAggregations(bucket, "unusedDataAssetsFourteenDays"); + S unusedThirtyDays = getAggregations(bucket, "unusedDataAssetsThirtyDays"); + S unusedSixtyDays = getAggregations(bucket, "unusedDataAssetsSixtyDays"); + S frequentlyUsedThreeDays = getAggregations(bucket, "frequentlyUsedDataAssetsThreeDays"); + S frequentlyUsedSevenDays = getAggregations(bucket, "frequentlyUsedDataAssetsSevenDays"); + S frequentlyUsedFourteenDays = getAggregations(bucket, "frequentlyUsedDataAssetsFourteenDays"); + S frequentlyUsedThirtyDays = getAggregations(bucket, "frequentlyUsedDataAssetsThirtyDays"); + S frequentlyUsedSixtyDays = getAggregations(bucket, "frequentlyUsedDataAssetsSixtyDays"); data.add( new AggregatedUnusedAssetsCount() .withTimestamp(timestamp) - .withThreeDays(getValue(threeDays)) - .withSevenDays(getValue(sevenDays)) - .withFourteenDays(getValue(fourteenDays)) - .withThirtyDays(getValue(thirtyDays)) - .withSixtyDays(getValue(sixtyDays)) - .withTotal(total)); + .withUnusedDataAssets( + new DataAssetValues() + .withThreeDays(getValue(unusedThreeDays)) + .withSevenDays(getValue(unusedSevenDays)) + .withFourteenDays(getValue(unusedFourteenDays)) + .withThirtyDays(getValue(unusedThirtyDays)) + .withSixtyDays(getValue(unusedSixtyDays))) + .withFrequentlyUsedDataAssets( + new DataAssetValues() + .withThreeDays(getValue(frequentlyUsedThreeDays)) + .withSevenDays(getValue(frequentlyUsedSevenDays)) + .withFourteenDays(getValue(frequentlyUsedFourteenDays)) + .withThirtyDays(getValue(frequentlyUsedThirtyDays)) + .withSixtyDays(getValue(frequentlyUsedSixtyDays)))); } return data; } diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/dataInsight/AggregatedUnusedAssetsSizeAggregator.java b/openmetadata-service/src/main/java/org/openmetadata/service/dataInsight/AggregatedUnusedAssetsSizeAggregator.java index d3f3e2842ec..43dcd0ea188 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/dataInsight/AggregatedUnusedAssetsSizeAggregator.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/dataInsight/AggregatedUnusedAssetsSizeAggregator.java @@ -3,7 +3,7 @@ package org.openmetadata.service.dataInsight; import java.text.ParseException; import java.util.ArrayList; import java.util.List; -import java.util.Objects; +import org.openmetadata.schema.analytics.DataAssetValues; import org.openmetadata.schema.dataInsight.type.AggregatedUnusedAssetsSize; public abstract class AggregatedUnusedAssetsSizeAggregator implements DataInsightAggregatorInterface { @@ -20,26 +20,34 @@ public abstract class AggregatedUnusedAssetsSizeAggregator implement for (B bucket : getBuckets(histogramBucket)) { String dateTimeString = getKeyAsString(bucket); Long timestamp = convertDatTimeStringToTimestamp(dateTimeString); - S threeDays = getAggregations(bucket, "threeDays"); - S sevenDays = getAggregations(bucket, "sevenDays"); - S fourteenDays = getAggregations(bucket, "fourteenDays"); - S thirtyDays = getAggregations(bucket, "thirtyDays"); - S sixtyDays = getAggregations(bucket, "sixtyDays"); - S totalUnused = getAggregations(bucket, "totalUnused"); - S totalUsed = getAggregations(bucket, "totalUsed"); - Double used = Objects.requireNonNullElse(getValue(totalUsed), 0.0); - Double unused = Objects.requireNonNullElse(getValue(totalUnused), 0.0); - Double total = unused + used; + S unusedThreeDays = getAggregations(bucket, "unusedDataAssetsThreeDays"); + S unusedSevenDays = getAggregations(bucket, "unusedDataAssetsSevenDays"); + S unusedFourteenDays = getAggregations(bucket, "unusedDataAssetsFourteenDays"); + S unusedThirtyDays = getAggregations(bucket, "unusedDataAssetsThirtyDays"); + S unusedSixtyDays = getAggregations(bucket, "unusedDataAssetsSixtyDays"); + S frequentlyUsedThreeDays = getAggregations(bucket, "frequentlyUsedDataAssetsThreeDays"); + S frequentlyUsedSevenDays = getAggregations(bucket, "frequentlyUsedDataAssetsSevenDays"); + S frequentlyUsedFourteenDays = getAggregations(bucket, "frequentlyUsedDataAssetsFourteenDays"); + S frequentlyUsedThirtyDays = getAggregations(bucket, "frequentlyUsedDataAssetsThirtyDays"); + S frequentlyUsedSixtyDays = getAggregations(bucket, "frequentlyUsedDataAssetsSixtyDays"); data.add( new AggregatedUnusedAssetsSize() .withTimestamp(timestamp) - .withThreeDays(getValue(threeDays)) - .withSevenDays(getValue(sevenDays)) - .withFourteenDays(getValue(fourteenDays)) - .withThirtyDays(getValue(thirtyDays)) - .withSixtyDays(getValue(sixtyDays)) - .withTotal(total)); + .withUnusedDataAssets( + new DataAssetValues() + .withThreeDays(getValue(unusedThreeDays)) + .withSevenDays(getValue(unusedSevenDays)) + .withFourteenDays(getValue(unusedFourteenDays)) + .withThirtyDays(getValue(unusedThirtyDays)) + .withSixtyDays(getValue(unusedSixtyDays))) + .withFrequentlyUsedDataAssets( + new DataAssetValues() + .withThreeDays(getValue(frequentlyUsedThreeDays)) + .withSevenDays(getValue(frequentlyUsedSevenDays)) + .withFourteenDays(getValue(frequentlyUsedFourteenDays)) + .withThirtyDays(getValue(frequentlyUsedThirtyDays)) + .withSixtyDays(getValue(frequentlyUsedSixtyDays)))); } return data; } diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/search/elasticsearch/ElasticSearchClient.java b/openmetadata-service/src/main/java/org/openmetadata/service/search/elasticsearch/ElasticSearchClient.java index 1a5e9a16974..f25ef471a98 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/search/elasticsearch/ElasticSearchClient.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/search/elasticsearch/ElasticSearchClient.java @@ -1308,32 +1308,35 @@ public class ElasticSearchClient implements SearchClient { case AGGREGATED_UNUSED_ASSETS_COUNT: boolean isSize = dataInsightChartName.equals(DataInsightChartResult.DataInsightChartType.AGGREGATED_UNUSED_ASSETS_SIZE); + String[] types = new String[] {"frequentlyUsedDataAssets", "unusedDataAssets"}; String fieldType = isSize ? "size" : "count"; - String totalField = isSize ? "totalSize" : "totalCount"; - SumAggregationBuilder threeDaysAgg = - AggregationBuilders.sum("threeDays").field(String.format("data.unusedDataAssets.%s.threeDays", fieldType)); - SumAggregationBuilder sevenDaysAgg = - AggregationBuilders.sum("sevenDays").field(String.format("data.unusedDataAssets.%s.sevenDays", fieldType)); - SumAggregationBuilder fourteenDaysAgg = - AggregationBuilders.sum("fourteenDays") - .field(String.format("data.unusedDataAssets.%s.fourteenDays", fieldType)); - SumAggregationBuilder thirtyDaysAgg = - AggregationBuilders.sum("thirtyDays") - .field(String.format("data.unusedDataAssets.%s.thirtyDays", fieldType)); - SumAggregationBuilder sixtyDaysAgg = - AggregationBuilders.sum("sixtyDays").field(String.format("data.unusedDataAssets.%s.sixtyDays", fieldType)); - SumAggregationBuilder totalUnused = - AggregationBuilders.sum("totalUnused").field(String.format("data.unusedDataAssets.%s", totalField)); - SumAggregationBuilder totalUsed = - AggregationBuilders.sum("totalUsed").field(String.format("data.frequentlyUsedDataAssets.%s", totalField)); - return dateHistogramAggregationBuilder - .subAggregation(threeDaysAgg) - .subAggregation(sevenDaysAgg) - .subAggregation(fourteenDaysAgg) - .subAggregation(thirtyDaysAgg) - .subAggregation(sixtyDaysAgg) - .subAggregation(totalUnused) - .subAggregation(totalUsed); + + for (String type : types) { + SumAggregationBuilder threeDaysAgg = + AggregationBuilders.sum(String.format("%sThreeDays", type)) + .field(String.format("data.%s.%s.threeDays", type, fieldType)); + SumAggregationBuilder sevenDaysAgg = + AggregationBuilders.sum(String.format("%sSevenDays", type)) + .field(String.format("data.%s.%s.sevenDays", type, fieldType)); + SumAggregationBuilder fourteenDaysAgg = + AggregationBuilders.sum(String.format("%sFourteenDays", type)) + .field(String.format("data.%s.%s.fourteenDays", type, fieldType)); + SumAggregationBuilder thirtyDaysAgg = + AggregationBuilders.sum(String.format("%sThirtyDays", type)) + .field(String.format("data.%s.%s.thirtyDays", type, fieldType)); + SumAggregationBuilder sixtyDaysAgg = + AggregationBuilders.sum(String.format("%sSixtyDays", type)) + .field(String.format("data.%s.%s.sixtyDays", type, fieldType)); + + dateHistogramAggregationBuilder + .subAggregation(threeDaysAgg) + .subAggregation(sevenDaysAgg) + .subAggregation(fourteenDaysAgg) + .subAggregation(thirtyDaysAgg) + .subAggregation(sixtyDaysAgg); + } + + return dateHistogramAggregationBuilder; case AGGREGATED_USED_VS_UNUSED_ASSETS_SIZE: case AGGREGATED_USED_VS_UNUSED_ASSETS_COUNT: boolean isSizeReport = diff --git a/openmetadata-service/src/main/resources/json/data/dataInsight/aggregatedUnusedAssetsCount.json b/openmetadata-service/src/main/resources/json/data/dataInsight/aggregatedUnusedAssetsCount.json index 9e137126ca5..962aa24ec73 100644 --- a/openmetadata-service/src/main/resources/json/data/dataInsight/aggregatedUnusedAssetsCount.json +++ b/openmetadata-service/src/main/resources/json/data/dataInsight/aggregatedUnusedAssetsCount.json @@ -2,17 +2,21 @@ "name": "AggregatedUnusedAssetsCount", "fullyQualifiedName": "AggregatedUnusedAssetsCount", "displayName": "Unused Assets Count", - "description": "Displays the total count of unused assets over time.", + "description": "Displays the total count of unused assets over time broken down by unused time period.", "dataIndexType": "aggregated_cost_analysis_report_data_index", "dimensions": [ {"name": "timestamp","chartDataType":"INT"} ], "metrics": [ - {"name": "threeDays", "displayName": "3 Days", "chartDataType": "FLOAT"}, - {"name": "sevenDays", "displayName": "7 Days", "chartDataType": "FLOAT"}, - {"name": "fourteenDays", "displayName": "14 Days", "chartDataType": "FLOAT"}, - {"name": "thirtyDays", "displayName": "30 Days", "chartDataType": "FLOAT"}, - {"name": "sixtyDays", "displayName": "60 Days", "chartDataType": "FLOAT"}, - {"name": "totalAssetCount", "displayName": "Total Asset Counts", "chartDataType": "FLOAT"} + {"name": "frequentlyUsedDataAssets.threeDays", "displayName": "Last 3 Days (Used)", "chartDataType": "FLOAT"}, + {"name": "frequentlyUsedDataAssets.sevenDays", "displayName": "Last 7 Days (Used)", "chartDataType": "FLOAT"}, + {"name": "frequentlyUsedDataAssets.fourteenDays", "displayName": "Last 14 Days (Used)", "chartDataType": "FLOAT"}, + {"name": "frequentlyUsedDataAssets.thirtyDays", "displayName": "last 30 Days (Used)", "chartDataType": "FLOAT"}, + {"name": "frequentlyUsedDataAssets.sixtyDays", "displayName": "Last 60 Days (Used)", "chartDataType": "FLOAT"}, + {"name": "unusedDataAssets.threeDays", "displayName": "Last 3 Days (Unused)", "chartDataType": "FLOAT"}, + {"name": "unusedDataAssets.sevenDays", "displayName": "Last 7 Days (Unused)", "chartDataType": "FLOAT"}, + {"name": "unusedDataAssets.fourteenDays", "displayName": "Last 14 Days (Unused)", "chartDataType": "FLOAT"}, + {"name": "unusedDataAssets.thirtyDays", "displayName": "last 30 Days (Unused)", "chartDataType": "FLOAT"}, + {"name": "unusedDataAssets.sixtyDays", "displayName": "Last 60 Days (Unused)", "chartDataType": "FLOAT"} ] } \ No newline at end of file diff --git a/openmetadata-service/src/main/resources/json/data/dataInsight/aggregatedUnusedAssetsSize.json b/openmetadata-service/src/main/resources/json/data/dataInsight/aggregatedUnusedAssetsSize.json index 29afd5b6025..5aef7590875 100644 --- a/openmetadata-service/src/main/resources/json/data/dataInsight/aggregatedUnusedAssetsSize.json +++ b/openmetadata-service/src/main/resources/json/data/dataInsight/aggregatedUnusedAssetsSize.json @@ -2,17 +2,21 @@ "name": "AggregatedUnusedAssetsSize", "fullyQualifiedName": "AggregatedUnusedAssetsSize", "displayName": "Unused Assets Size", - "description": "Displays the total size of unused assets over time.", + "description": "Displays the total size of unused assets over time broken down by unused time period.", "dataIndexType": "aggregated_cost_analysis_report_data_index", "dimensions": [ {"name": "timestamp","chartDataType":"INT"} ], "metrics": [ - {"name": "threeDays", "displayName": "3 Days", "chartDataType": "FLOAT"}, - {"name": "sevenDays", "displayName": "7 Days", "chartDataType": "FLOAT"}, - {"name": "fourteenDays", "displayName": "14 Days", "chartDataType": "FLOAT"}, - {"name": "thirtyDays", "displayName": "30 Days", "chartDataType": "FLOAT"}, - {"name": "sixtyDays", "displayName": "60 Days", "chartDataType": "FLOAT"}, - {"name": "totalAssetSize", "displayName": "Total Asset Size", "chartDataType": "FLOAT"} + {"name": "frequentlyUsedDataAssets.threeDays", "displayName": "Last 3 Days (Used)", "chartDataType": "FLOAT"}, + {"name": "frequentlyUsedDataAssets.sevenDays", "displayName": "Last 7 Days (Used)", "chartDataType": "FLOAT"}, + {"name": "frequentlyUsedDataAssets.fourteenDays", "displayName": "Last 14 Days (Used)", "chartDataType": "FLOAT"}, + {"name": "frequentlyUsedDataAssets.thirtyDays", "displayName": "last 30 Days (Used)", "chartDataType": "FLOAT"}, + {"name": "frequentlyUsedDataAssets.sixtyDays", "displayName": "Last 60 Days (Used)", "chartDataType": "FLOAT"}, + {"name": "unusedDataAssets.threeDays", "displayName": "Last 3 Days (Unused)", "chartDataType": "FLOAT"}, + {"name": "unusedDataAssets.sevenDays", "displayName": "Last 7 Days (Unused)", "chartDataType": "FLOAT"}, + {"name": "unusedDataAssets.fourteenDays", "displayName": "Last 14 Days (Unused)", "chartDataType": "FLOAT"}, + {"name": "unusedDataAssets.thirtyDays", "displayName": "last 30 Days (Unused)", "chartDataType": "FLOAT"}, + {"name": "unusedDataAssets.sixtyDays", "displayName": "Last 60 Days (Unused)", "chartDataType": "FLOAT"} ] } \ No newline at end of file diff --git a/openmetadata-service/src/main/resources/json/data/dataInsight/aggregatedUsedvsUnusedAssetsCount.json b/openmetadata-service/src/main/resources/json/data/dataInsight/aggregatedUsedvsUnusedAssetsCount.json index 3e4ecf5771d..09129caf365 100644 --- a/openmetadata-service/src/main/resources/json/data/dataInsight/aggregatedUsedvsUnusedAssetsCount.json +++ b/openmetadata-service/src/main/resources/json/data/dataInsight/aggregatedUsedvsUnusedAssetsCount.json @@ -1,8 +1,8 @@ { "name": "AggregatedUsedvsUnusedAssetsCount", "fullyQualifiedName": "AggregatedUsedvsUnusedAssetsCount", - "displayName": "Used vs Unused Assets Count", - "description": "Displays the count of used vs unused assets over time.", + "displayName": "Used vs Unused Assets Count Percentage", + "description": "Displays the count of used vs unused assets over time in percentage.", "dataIndexType": "aggregated_cost_analysis_report_data_index", "dimensions": [ {"name": "timestamp","chartDataType":"INT"} diff --git a/openmetadata-service/src/main/resources/json/data/dataInsight/aggregatedUsedvsUnusedAssetsSize.json b/openmetadata-service/src/main/resources/json/data/dataInsight/aggregatedUsedvsUnusedAssetsSize.json index 9b8dd5b4e68..4acbecffa88 100644 --- a/openmetadata-service/src/main/resources/json/data/dataInsight/aggregatedUsedvsUnusedAssetsSize.json +++ b/openmetadata-service/src/main/resources/json/data/dataInsight/aggregatedUsedvsUnusedAssetsSize.json @@ -1,8 +1,8 @@ { "name": "AggregatedUsedvsUnusedAssetsSize", "fullyQualifiedName": "AggregatedUsedvsUnusedAssetsSize", - "displayName": "Used vs Unused Assets Size", - "description": "Displays the size of used vs unused assets over time.", + "displayName": "Used vs Unused Assets Size Percentage", + "description": "Displays the size of used vs unused assets over time in percentage.", "dataIndexType": "aggregated_cost_analysis_report_data_index", "dimensions": [ {"name": "timestamp","chartDataType":"INT"} diff --git a/openmetadata-spec/src/main/resources/json/schema/dataInsight/type/aggregatedUnusedAssetsCount.json b/openmetadata-spec/src/main/resources/json/schema/dataInsight/type/aggregatedUnusedAssetsCount.json index eebdf5a4486..5f4eadaff3a 100644 --- a/openmetadata-spec/src/main/resources/json/schema/dataInsight/type/aggregatedUnusedAssetsCount.json +++ b/openmetadata-spec/src/main/resources/json/schema/dataInsight/type/aggregatedUnusedAssetsCount.json @@ -5,34 +5,19 @@ "description": "AggregatedUnusedAssetsCount data blob", "type": "object", "javaType": "org.openmetadata.schema.dataInsight.type.AggregatedUnusedAssetsCount", + "properties": { "timestamp": { "description": "timestamp", "$ref": "../../type/basic.json#/definitions/timestamp" }, - "threeDays": { - "description": "Number of unused assets in the last 3 days", - "type": "number" + "frequentlyUsedDataAssets": { + "description": "Frequently used Data Assets", + "$ref": "../../analytics/reportDataType/aggregatedCostAnalysisReportData.json#/definitions/dataAssetValues" }, - "sevenDays": { - "description": "Number of unused assets in the last 7 days", - "type": "number" - }, - "fourteenDays": { - "description": "Number of unused assets in the last 14 days", - "type": "number" - }, - "thirtyDays": { - "description": "Number of unused assets in the last 30 days", - "type": "number" - }, - "sixtyDays": { - "description": "Number of unused assets in the last 60 days", - "type": "number" - }, - "total": { - "description": "Total number of unused assets", - "type": "number" + "unusedDataAssets": { + "description": "Unused Data Assets", + "$ref": "../../analytics/reportDataType/aggregatedCostAnalysisReportData.json#/definitions/dataAssetValues" } }, "additionalProperties": false diff --git a/openmetadata-spec/src/main/resources/json/schema/dataInsight/type/aggregatedUnusedAssetsSize.json b/openmetadata-spec/src/main/resources/json/schema/dataInsight/type/aggregatedUnusedAssetsSize.json index b34bd50e46d..435902a2828 100644 --- a/openmetadata-spec/src/main/resources/json/schema/dataInsight/type/aggregatedUnusedAssetsSize.json +++ b/openmetadata-spec/src/main/resources/json/schema/dataInsight/type/aggregatedUnusedAssetsSize.json @@ -10,29 +10,13 @@ "description": "timestamp", "$ref": "../../type/basic.json#/definitions/timestamp" }, - "threeDays": { - "description": "Size of unused assets in the last 3 days", - "type": "number" + "frequentlyUsedDataAssets": { + "description": "Frequently used Data Assets", + "$ref": "../../analytics/reportDataType/aggregatedCostAnalysisReportData.json#/definitions/dataAssetValues" }, - "sevenDays": { - "description": "Size of unused assets in the last 7 days", - "type": "number" - }, - "fourteenDays": { - "description": "Size of unused assets in the last 14 days", - "type": "number" - }, - "thirtyDays": { - "description": "Size of unused assets in the last 30 days", - "type": "number" - }, - "sixtyDays": { - "description": "Size of unused assets in the last 60 days", - "type": "number" - }, - "total": { - "description": "Total size of unused assets", - "type": "number" + "unusedDataAssets": { + "description": "Unused Data Assets", + "$ref": "../../analytics/reportDataType/aggregatedCostAnalysisReportData.json#/definitions/dataAssetValues" } }, "additionalProperties": false