@@ -103,12 +103,12 @@ ImmutableList<Task<?>> generateLiteSpecificQueries() {
103103 builder .add (
104104 new JdbcSelectTask (TablesFormat .AU_ZIP_ENTRY_NAME , tables )
105105 .withHeaderClass (TablesFormat .Header .class ));
106- builder .add (proceduresTask ());
107- builder .add (reportDateRangeTask ());
108- builder .add (eventStateTask ());
109- builder .add (warehouseEventsHistoryTask ());
110- builder .add (warehouseMeteringTask ());
111- builder .add (storageMetricsLiteTask ());
106+ builder .add (procedures . toTask ());
107+ builder .add (reportDateRange . toTask ());
108+ builder .add (eventState . toTask ());
109+ builder .add (warehouseEventsHistory . toTask ());
110+ builder .add (warehouseMetering . toTask ());
111+ builder .add (storageMetrics . toTask ());
112112
113113 for (AssessmentQuery item : liteAssessmentQueries ) {
114114 String query = String .format (item .formatString , view , /* an empty WHERE clause */ "" );
@@ -156,33 +156,61 @@ String substitute(String schema, String whereCondition) {
156156 }
157157 }
158158
159- Task <?> eventStateTask () {
159+ private static final class LiteTaskData {
160+
161+ final String csvFile ;
162+ final String query ;
163+ final ImmutableList <String > header ;
164+
165+ LiteTaskData (String csv , String query , ImmutableList <String > header ) {
166+ this .csvFile = csv ;
167+ this .query = query ;
168+ this .header = header ;
169+ }
170+
171+ Task <?> toTask () {
172+ return new LiteTimeSeriesTask (csvFile , query , header );
173+ }
174+ }
175+
176+ private static LiteTaskData eventState = initEventState ();
177+ private static LiteTaskData procedures = initProcedures ();
178+ private static LiteTaskData reportDateRange = initReportDateRange ();
179+ private static LiteTaskData storageMetrics = initStorageMetrics ();
180+ private static LiteTaskData warehouseEventsHistory = initWarehouseEventsHistory ();
181+ private static LiteTaskData warehouseMetering = initWarehouseMetering ();
182+
183+ private static String buildQuery (String selectList , String view , String predicate ) {
184+ return String .format ("SELECT %s FROM %s WHERE %s" , selectList , view , predicate );
185+ }
186+
187+ private static LiteTaskData initEventState () {
160188 String query =
161189 "SELECT event_state, count(*)"
162190 + " FROM SNOWFLAKE.ACCOUNT_USAGE.WAREHOUSE_EVENTS_HISTORY"
163191 + " WHERE event_name LIKE '%CLUSTER%' GROUP BY ALL" ;
164192 ImmutableList <String > header = ImmutableList .of ("EventState" , "Count" );
165- return new LiteTimeSeriesTask ("event_state.csv" , query , header );
193+ return new LiteTaskData ("event_state.csv" , query , header );
166194 }
167195
168- Task <?> proceduresTask () {
196+ private static LiteTaskData initProcedures () {
169197 String view = "SNOWFLAKE.ACCOUNT_USAGE.PROCEDURES" ;
170198 String query =
171199 String .format (
172200 "SELECT procedure_language, procedure_owner, count(1) FROM %s GROUP BY ALL" , view );
173201 ImmutableList <String > header = ImmutableList .of ("Language" , "Owner" , "Count" );
174- return new LiteTimeSeriesTask ("procedures.csv" , query , header );
202+ return new LiteTaskData ("procedures.csv" , query , header );
175203 }
176204
177- Task <?> reportDateRangeTask () {
205+ private static LiteTaskData initReportDateRange () {
178206 String selectList = "min(timestamp), max(timestamp)" ;
179207 String view = "SNOWFLAKE.ACCOUNT_USAGE.WAREHOUSE_EVENTS_HISTORY" ;
180208 String query = buildQuery (selectList , view , TIME_PREDICATE );
181209 ImmutableList <String > header = ImmutableList .of ("StartTime" , "EndTime" );
182- return new LiteTimeSeriesTask ("report_date_range.csv" , query , header );
210+ return new LiteTaskData ("report_date_range.csv" , query , header );
183211 }
184212
185- Task <?> storageMetricsLiteTask () {
213+ private static LiteTaskData initStorageMetrics () {
186214 String selectList =
187215 String .join (
188216 ", " ,
@@ -231,14 +259,10 @@ Task<?> storageMetricsLiteTask() {
231259 "SchemaDropped" ,
232260 "Comment" ,
233261 "Deleted" );
234- return new LiteTimeSeriesTask ("table_storage_metrics-au.csv" , query , header );
235- }
236-
237- private static String buildQuery (String selectList , String view , String predicate ) {
238- return String .format ("SELECT %s FROM %s WHERE %s" , selectList , view , predicate );
262+ return new LiteTaskData ("table_storage_metrics-au.csv" , query , header );
239263 }
240264
241- Task <?> warehouseEventsHistoryTask () {
265+ private static LiteTaskData initWarehouseEventsHistory () {
242266 String selectList =
243267 String .join (
244268 ", " ,
@@ -262,10 +286,10 @@ Task<?> warehouseEventsHistoryTask() {
262286 "EventReason" ,
263287 "EventState" ,
264288 "QueryId" );
265- return new LiteTimeSeriesTask ("warehouse_events_lite.csv" , query , header );
289+ return new LiteTaskData ("warehouse_events_lite.csv" , query , header );
266290 }
267291
268- Task <?> warehouseMeteringTask () {
292+ private static LiteTaskData initWarehouseMetering () {
269293 String selectList =
270294 String .join (
271295 ", " ,
@@ -287,6 +311,6 @@ Task<?> warehouseMeteringTask() {
287311 "WarehouseName" ,
288312 "CreditsUsedCompute" ,
289313 "CreditsUsedCloudServices" );
290- return new LiteTimeSeriesTask ("warehouse_metering_lite.csv" , query , header );
314+ return new LiteTaskData ("warehouse_metering_lite.csv" , query , header );
291315 }
292316}
0 commit comments