Shirly Radco has uploaded a new change for review. Change subject: reports: br11b report - added comments to queries ......................................................................
reports: br11b report - added comments to queries Changed the code structure so it will be more readable and added commets. Change-Id: I7f0f4752333b8886a10acb216c2f0913e254342f Signed-off-by: Shirly Radco <[email protected]> --- M packaging/ovirt-reports/resources/reports_resources/embedded_reports/Trends_Dashboard/five_most_utilized_vms_over_time_br11_files/five_most_utilized_vms_over_time_br11_jrxml.data 1 file changed, 403 insertions(+), 269 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-reports refs/changes/44/27844/1 diff --git a/packaging/ovirt-reports/resources/reports_resources/embedded_reports/Trends_Dashboard/five_most_utilized_vms_over_time_br11_files/five_most_utilized_vms_over_time_br11_jrxml.data b/packaging/ovirt-reports/resources/reports_resources/embedded_reports/Trends_Dashboard/five_most_utilized_vms_over_time_br11_files/five_most_utilized_vms_over_time_br11_jrxml.data index f9a7104..d002b2b 100644 --- a/packaging/ovirt-reports/resources/reports_resources/embedded_reports/Trends_Dashboard/five_most_utilized_vms_over_time_br11_files/five_most_utilized_vms_over_time_br11_jrxml.data +++ b/packaging/ovirt-reports/resources/reports_resources/embedded_reports/Trends_Dashboard/five_most_utilized_vms_over_time_br11_files/five_most_utilized_vms_over_time_br11_jrxml.data @@ -1,272 +1,406 @@ <?xml version="1.0" encoding="UTF-8"?> -<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="BR11B" language="groovy" pageWidth="832" pageHeight="585" orientation="Landscape" whenNoDataType="AllSectionsNoDetail" columnWidth="832" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" resourceBundle="ovirt_reports_bundle" whenResourceMissingType="Error"> - <property name="ireport.jasperserver.reportUnit" value="/reports_resources/embedded_reports/five_most_utilized_vms_over_time_br11"/> - <property name="ireport.jasperserver.url" value="http://localhost:8080/jasperserver-pro/services/repository"/> - <property name="ireport.zoom" value="1.0"/> - <property name="ireport.x" value="0"/> - <property name="ireport.y" value="0"/> - <parameter name="is_deleted" class="java.lang.String"> - <defaultValueExpression><![CDATA["AND delete_date IS NULL"]]></defaultValueExpression> - </parameter> - <parameter name="P_Period" class="java.lang.Short"> - <parameterDescription><![CDATA[Period]]></parameterDescription> - <defaultValueExpression><![CDATA[0]]></defaultValueExpression> - </parameter> - <parameter name="P_Start_Date" class="java.util.Date"> - <defaultValueExpression><![CDATA["2000-01-01"]]></defaultValueExpression> - </parameter> - <parameter name="P_DataCenter_ID" class="java.lang.String"> - <parameterDescription><![CDATA[Select a DataCenter]]></parameterDescription> - <defaultValueExpression><![CDATA["11111111-1111-1111-1111-111111111111"]]></defaultValueExpression> - </parameter> - <parameter name="P_Cluster_ID" class="java.lang.String"> - <parameterDescription><![CDATA[Select a Cluster]]></parameterDescription> - <defaultValueExpression><![CDATA["11111111-1111-1111-1111-111111111111"]]></defaultValueExpression> - </parameter> - <parameter name="P_VM_Type" class="java.lang.Integer"> - <parameterDescription><![CDATA[Select Virtual Machine Type]]></parameterDescription> - <defaultValueExpression><![CDATA[-1]]></defaultValueExpression> - </parameter> - <parameter name="REPORT_NAME" class="java.lang.String" isForPrompting="false"/> - <parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false"> - <defaultValueExpression><![CDATA["C:\\Program Files\\jasperserver-pro-3.7\\"]]></defaultValueExpression> - </parameter> - <parameter name="table_name" class="java.lang.String"> - <defaultValueExpression><![CDATA[$P{P_Period} == 0 ? "hourly" : "daily"]]></defaultValueExpression> - </parameter> - <parameter name="calendar_column" class="java.lang.String"> - <defaultValueExpression><![CDATA[$P{P_Period} == 0 ? "the_datetime" : "the_date"]]></defaultValueExpression> - </parameter> - <queryString> - <![CDATA[select distinct $P!{calendar_column} as the_date, coalesce(vm_name,max(vm_name) over (partition by 1),'') as vm_name, CPU_Usage, MEM_Usage -from (SELECT v3_5_statistics_vms_resources_usage_$P!{table_name}.vm_id, - CASE - WHEN delete_date IS NULL THEN vm_name - ELSE vm_name || ' (Removed on ' || cast(cast(delete_date as date) as varchar) || ')' - END as vm_name, - v3_5_statistics_vms_resources_usage_$P!{table_name}.history_datetime AS time, - SUM(coalesce(v3_5_statistics_vms_resources_usage_$P!{table_name}.max_cpu_usage, 0)*coalesce(v3_5_statistics_vms_resources_usage_$P!{table_name}.minutes_in_status,0))/SUM(coalesce(v3_5_statistics_vms_resources_usage_$P!{table_name}.minutes_in_status,0)) AS CPU_Usage, - SUM(coalesce(v3_5_statistics_vms_resources_usage_$P!{table_name}.max_memory_usage,0)*coalesce(v3_5_statistics_vms_resources_usage_$P!{table_name}.minutes_in_status,0))/SUM(coalesce(v3_5_statistics_vms_resources_usage_$P!{table_name}.minutes_in_status,0)) AS MEM_Usage +<!-- Created with Jaspersoft Studio version 5.5.0--> +<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="BR11B" language="groovy" pageWidth="832" pageHeight="585" orientation="Landscape" whenNoDataType="AllSectionsNoDetail" columnWidth="832" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" resourceBundle="ovirt_reports_bundle" whenResourceMissingType="Error" uuid="2e32e352-cf44-4a9f-830f-f04834f90aa4"> + <property name="ireport.jasperserver.reportUnit" value="/reports_resources/embedded_reports/Trends_Dashboard/five_most_utilized_vms_over_time_br11"/> + <property name="ireport.jasperserver.url" value="http://localhost:8080/jasperserver-pro/"/> + <property name="ireport.zoom" value="1.0"/> + <property name="ireport.x" value="0"/> + <property name="ireport.y" value="0"/> + <property name="ireport.jasperserver.report.resource" value="/reports_resources/embedded_reports/Trends_Dashboard/five_most_utilized_vms_over_time_br11_files/five_most_utilized_vms_over_time_br11_jrxml"/> + <parameter name="is_deleted" class="java.lang.String"> + <defaultValueExpression><![CDATA["AND delete_date IS NULL"]]></defaultValueExpression> + </parameter> + <parameter name="P_Period" class="java.lang.Short"> + <parameterDescription><![CDATA[Period]]></parameterDescription> + <defaultValueExpression><![CDATA[0]]></defaultValueExpression> + </parameter> + <parameter name="P_Start_Date" class="java.util.Date"> + <defaultValueExpression><![CDATA["2000-01-01"]]></defaultValueExpression> + </parameter> + <parameter name="P_DataCenter_ID" class="java.lang.String"> + <parameterDescription><![CDATA[Select a DataCenter]]></parameterDescription> + <defaultValueExpression><![CDATA["11111111-1111-1111-1111-111111111111"]]></defaultValueExpression> + </parameter> + <parameter name="P_Cluster_ID" class="java.lang.String"> + <parameterDescription><![CDATA[Select a Cluster]]></parameterDescription> + <defaultValueExpression><![CDATA["11111111-1111-1111-1111-111111111111"]]></defaultValueExpression> + </parameter> + <parameter name="P_VM_Type" class="java.lang.Integer"> + <parameterDescription><![CDATA[Select Virtual Machine Type]]></parameterDescription> + <defaultValueExpression><![CDATA[-1]]></defaultValueExpression> + </parameter> + <parameter name="REPORT_NAME" class="java.lang.String" isForPrompting="false"/> + <parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false"> + <defaultValueExpression><![CDATA["C:\\Program Files\\jasperserver-pro-3.7\\"]]></defaultValueExpression> + </parameter> + <parameter name="table_name" class="java.lang.String"> + <defaultValueExpression><![CDATA[$P{P_Period} == 0 ? "hourly" : "daily"]]></defaultValueExpression> + </parameter> + <parameter name="calendar_column" class="java.lang.String"> + <defaultValueExpression><![CDATA[$P{P_Period} == 0 ? "the_datetime" : "the_date"]]></defaultValueExpression> + </parameter> + <queryString language="SQL"> + <![CDATA[-- BR4B - This report returns the +-- cpu and memory usage over time +-- for the 5 most utilized vms. + +SELECT DISTINCT + $P!{calendar_column} as the_date, + COALESCE ( + vm_name, + MAX ( vm_name ) over ( partition by 1 ), + '' + ) AS vm_name, + CPU_Usage, + MEM_Usage +FROM ( + SELECT + v3_5_statistics_vms_resources_usage_$P!{table_name}.vm_id, + CASE + WHEN delete_date IS NULL + THEN vm_name + ELSE + vm_name + || + ' (Removed on ' + || + CAST ( + CAST ( delete_date AS date ) + AS varchar + ) + || + ')' + END AS vm_name, + v3_5_statistics_vms_resources_usage_$P!{table_name}.history_datetime AS time, + SUM ( + COALESCE ( + v3_5_statistics_vms_resources_usage_$P!{table_name}.max_cpu_usage, + 0 + ) * + COALESCE ( + v3_5_statistics_vms_resources_usage_$P!{table_name}.minutes_in_status, + 0 + ) + ) / + SUM ( + COALESCE ( + v3_5_statistics_vms_resources_usage_$P!{table_name}.minutes_in_status, + 0 + ) + ) AS CPU_Usage, + SUM ( + COALESCE ( + v3_5_statistics_vms_resources_usage_$P!{table_name}.max_memory_usage, + 0 + ) * + COALESCE ( + v3_5_statistics_vms_resources_usage_$P!{table_name}.minutes_in_status, + 0 + ) + ) / + SUM ( + COALESCE ( + v3_5_statistics_vms_resources_usage_$P!{table_name}.minutes_in_status, + 0 + ) + ) AS MEM_Usage + -- If "Period" equals to "Daily" then "table_name" parameter equals to "hourly" else "daily" FROM v3_5_statistics_vms_resources_usage_$P!{table_name} - INNER JOIN v3_5_configuration_history_vms - ON (v3_5_configuration_history_vms.vm_id = v3_5_statistics_vms_resources_usage_$P!{table_name}.vm_id) - WHERE v3_5_statistics_vms_resources_usage_$P!{table_name}.history_datetime >= cast($P{P_Start_Date} as timestamp) - AND v3_5_statistics_vms_resources_usage_$P!{table_name}.history_datetime <= CASE - WHEN $P{P_Period} = 0 THEN CAST($P{P_Start_Date} as TIMESTAMP) + interval '1 day' - WHEN $P{P_Period} = 1 THEN CAST($P{P_Start_Date} as TIMESTAMP) + interval '1 month' - WHEN $P{P_Period} = 2 THEN CAST($P{P_Start_Date} as TIMESTAMP) + interval '3 month' - WHEN $P{P_Period} = 3 THEN CAST($P{P_Start_Date} as TIMESTAMP) + interval '1 year' - END - AND v3_5_configuration_history_vms.history_id in (SELECT max(a.history_id) - FROM v3_5_configuration_history_vms as a - GROUP BY a.vm_id) - AND v3_5_statistics_vms_resources_usage_$P!{table_name}.vm_status = 1 - AND v3_5_statistics_vms_resources_usage_$P!{table_name}.vm_id IN - ( -- Calculation of Top 5 VMs - SELECT a.vm_id - FROM v3_5_statistics_vms_resources_usage_$P!{table_name} a - INNER JOIN v3_5_configuration_history_vms b - ON (a.vm_id = b.vm_id) - WHERE a.vm_status = 1 - AND b.cluster_id in (SELECT v3_5_configuration_history_clusters.cluster_id - FROM v3_5_configuration_history_clusters - WHERE v3_5_configuration_history_clusters.datacenter_id = cast($P{P_DataCenter_ID} as uuid)) - AND b.cluster_id = CASE $P{P_Cluster_ID} - WHEN '11111111-1111-1111-1111-111111111111' then b.cluster_id - ELSE cast($P{P_Cluster_ID} as uuid) - END - AND b.vm_type = CASE $P{P_VM_Type} - WHEN -1 THEN b.vm_type - WHEN NULL THEN b.vm_type - ELSE $P{P_VM_Type} - END - AND b.history_id in (SELECT max(g.history_id) - FROM v3_5_configuration_history_vms as g - GROUP BY g.vm_id) - AND a.history_datetime >= cast($P{P_Start_Date} as timestamp) - AND a.history_datetime <= CASE - WHEN $P{P_Period} = 0 THEN CAST($P{P_Start_Date} as TIMESTAMP) + interval '1 day' - WHEN $P{P_Period} = 1 THEN CAST($P{P_Start_Date} as TIMESTAMP) + interval '1 month' - WHEN $P{P_Period} = 2 THEN CAST($P{P_Start_Date} as TIMESTAMP) + interval '3 month' - WHEN $P{P_Period} = 3 THEN CAST($P{P_Start_Date} as TIMESTAMP) + interval '1 year' - END - $P!{is_deleted} - GROUP BY a.vm_id - ORDER BY SUM(coalesce(a.max_memory_usage*a.minutes_in_status,0))/SUM(coalesce(a.minutes_in_status,0)) + - SUM(coalesce(a.max_cpu_usage*a.minutes_in_status,0))/SUM(coalesce(a.minutes_in_status,0)) DESC - LIMIT 5) - GROUP BY v3_5_statistics_vms_resources_usage_$P!{table_name}.vm_id, vm_name, delete_date, history_datetime) a right outer join calendar b on (a.time = b.$P!{calendar_column}) -where $P!{calendar_column} >= cast($P{P_Start_Date} as date) - AND $P!{calendar_column} <= CASE - WHEN $P{P_Period} = 0 THEN CAST($P{P_Start_Date} as TIMESTAMP) + interval '1 day' - WHEN $P{P_Period} = 1 THEN CAST($P{P_Start_Date} as TIMESTAMP) + interval '1 month' - WHEN $P{P_Period} = 2 THEN CAST($P{P_Start_Date} as TIMESTAMP) + interval '3 month' - WHEN $P{P_Period} = 3 THEN CAST($P{P_Start_Date} as TIMESTAMP) + interval '1 year' - END -order by $P!{calendar_column}]]> - </queryString> - <field name="the_date" class="java.sql.Timestamp"/> - <field name="vm_name" class="java.lang.String"/> - <field name="cpu_usage" class="java.math.BigDecimal"/> - <field name="mem_usage" class="java.math.BigDecimal"/> - <group name="Cluster"> - <groupExpression><![CDATA[$P{P_Cluster_ID}]]></groupExpression> - <groupFooter> - <band height="202"> - <timeSeriesChart> - <chart evaluationTime="Report" hyperlinkType="ReportExecution" hyperlinkTarget="Blank" customizerClass="com.ovirt.reports.jasper.PercentTimelineChartCustomizer" theme="ReportsLineBarChartTheme"> - <reportElement mode="Opaque" x="2" y="1" width="410" height="200"/> - <box> - <pen lineWidth="1.0" lineColor="#3C617F"/> - <topPen lineWidth="1.0" lineColor="#3C617F"/> - <leftPen lineWidth="1.0" lineColor="#3C617F"/> - <bottomPen lineWidth="1.0" lineColor="#3C617F"/> - <rightPen lineWidth="1.0" lineColor="#3C617F"/> - </box> - <chartTitle> - <font fontName="SansSerif"/> - <titleExpression><![CDATA[$R{br11b.chart.vms.cpu.usage}]]></titleExpression> - </chartTitle> - <chartSubtitle/> - <chartLegend/> - <hyperlinkParameter name="_report"> - <hyperlinkParameterExpression><![CDATA["/Reports/Trend/Virtual_machines/five_most_utilized_vms_over_time_br11"]]></hyperlinkParameterExpression> - </hyperlinkParameter> - <hyperlinkParameter name="is_deleted"> - <hyperlinkParameterExpression><![CDATA[$P{is_deleted}]]></hyperlinkParameterExpression> - </hyperlinkParameter> - <hyperlinkParameter name="P_DataCenter_ID"> - <hyperlinkParameterExpression><![CDATA[$P{P_DataCenter_ID}]]></hyperlinkParameterExpression> - </hyperlinkParameter> - <hyperlinkParameter name="P_Cluster_ID"> - <hyperlinkParameterExpression><![CDATA[$P{P_Cluster_ID}]]></hyperlinkParameterExpression> - </hyperlinkParameter> - <hyperlinkParameter name="P_VM_Type"> - <hyperlinkParameterExpression><![CDATA[$P{P_VM_Type}]]></hyperlinkParameterExpression> - </hyperlinkParameter> - <hyperlinkParameter name="P_Period"> - <hyperlinkParameterExpression><![CDATA[$P{P_Period}]]></hyperlinkParameterExpression> - </hyperlinkParameter> - <hyperlinkParameter name="P_Start_Date"> - <hyperlinkParameterExpression><![CDATA[$P{P_Start_Date}]]></hyperlinkParameterExpression> - </hyperlinkParameter> - </chart> - <timeSeriesDataset timePeriod="Hour"> - <timeSeries> - <seriesExpression><![CDATA[$F{vm_name}]]></seriesExpression> - <timePeriodExpression><![CDATA[$F{the_date}]]></timePeriodExpression> - <valueExpression><![CDATA[$F{cpu_usage}]]></valueExpression> - <itemHyperlink> - <hyperlinkTooltipExpression><![CDATA[$F{vm_name} + ", " + $F{cpu_usage}.setScale(2, RoundingMode.HALF_UP).toString()]]></hyperlinkTooltipExpression> - </itemHyperlink> - </timeSeries> - </timeSeriesDataset> - <timeSeriesPlot isShowShapes="false"> - <plot labelRotation="-45.0"/> - <timeAxisLabelExpression><![CDATA[$R{axis.date}]]></timeAxisLabelExpression> - <timeAxisFormat> - <axisFormat labelColor="#666666" verticalTickLabels="false"> - <labelFont> - <font isBold="true"/> - </labelFont> - </axisFormat> - </timeAxisFormat> - <valueAxisLabelExpression><![CDATA[$R{axis.cpu.usage.percent}]]></valueAxisLabelExpression> - <valueAxisFormat> - <axisFormat labelColor="#666666" verticalTickLabels="false"> - <labelFont> - <font fontName="SansSerif"/> - </labelFont> - <tickLabelFont> - <font fontName="SansSerif"/> - </tickLabelFont> - </axisFormat> - </valueAxisFormat> - </timeSeriesPlot> - </timeSeriesChart> - <timeSeriesChart> - <chart evaluationTime="Report" hyperlinkType="ReportExecution" hyperlinkTarget="Blank" customizerClass="com.ovirt.reports.jasper.PercentTimelineChartCustomizer" theme="ReportsLineBarChartTheme"> - <reportElement mode="Opaque" x="421" y="1" width="410" height="200"/> - <box> - <pen lineWidth="1.0" lineColor="#3C617F"/> - <topPen lineWidth="1.0" lineColor="#3C617F"/> - <leftPen lineWidth="1.0" lineColor="#3C617F"/> - <bottomPen lineWidth="1.0" lineColor="#3C617F"/> - <rightPen lineWidth="1.0" lineColor="#3C617F"/> - </box> - <chartTitle> - <font fontName="SansSerif"/> - <titleExpression><![CDATA[$R{br11b.chart.vms.memory.usage}]]></titleExpression> - </chartTitle> - <chartSubtitle/> - <chartLegend/> - <hyperlinkParameter name="_report"> - <hyperlinkParameterExpression><![CDATA["/Reports/Trend/Virtual_machines/five_most_utilized_vms_over_time_br11"]]></hyperlinkParameterExpression> - </hyperlinkParameter> - <hyperlinkParameter name="is_deleted"> - <hyperlinkParameterExpression><![CDATA[$P{is_deleted}]]></hyperlinkParameterExpression> - </hyperlinkParameter> - <hyperlinkParameter name="P_DataCenter_ID"> - <hyperlinkParameterExpression><![CDATA[$P{P_DataCenter_ID}]]></hyperlinkParameterExpression> - </hyperlinkParameter> - <hyperlinkParameter name="P_Cluster_ID"> - <hyperlinkParameterExpression><![CDATA[$P{P_Cluster_ID}]]></hyperlinkParameterExpression> - </hyperlinkParameter> - <hyperlinkParameter name="P_VM_Type"> - <hyperlinkParameterExpression><![CDATA[$P{P_VM_Type}]]></hyperlinkParameterExpression> - </hyperlinkParameter> - <hyperlinkParameter name="P_Period"> - <hyperlinkParameterExpression><![CDATA[$P{P_Period}]]></hyperlinkParameterExpression> - </hyperlinkParameter> - <hyperlinkParameter name="P_Start_Date"> - <hyperlinkParameterExpression><![CDATA[$P{P_Start_Date}]]></hyperlinkParameterExpression> - </hyperlinkParameter> - </chart> - <timeSeriesDataset timePeriod="Hour"> - <timeSeries> - <seriesExpression><![CDATA[$F{vm_name}]]></seriesExpression> - <timePeriodExpression><![CDATA[$F{the_date}]]></timePeriodExpression> - <valueExpression><![CDATA[$F{mem_usage}]]></valueExpression> - <itemHyperlink> - <hyperlinkTooltipExpression><![CDATA[$F{vm_name} + ", " + $F{mem_usage}.setScale(2, RoundingMode.HALF_UP).toString()]]></hyperlinkTooltipExpression> - </itemHyperlink> - </timeSeries> - </timeSeriesDataset> - <timeSeriesPlot isShowShapes="false"> - <plot labelRotation="-45.0"/> - <timeAxisLabelExpression><![CDATA[$R{axis.date}]]></timeAxisLabelExpression> - <timeAxisFormat> - <axisFormat labelColor="#666666" verticalTickLabels="false"> - <labelFont> - <font isBold="true"/> - </labelFont> - </axisFormat> - </timeAxisFormat> - <valueAxisLabelExpression><![CDATA[$R{axis.memory.usage.percent}]]></valueAxisLabelExpression> - <valueAxisFormat> - <axisFormat labelColor="#666666" verticalTickLabels="false"> - <labelFont> - <font fontName="SansSerif"/> - </labelFont> - <tickLabelFont> - <font fontName="SansSerif"/> - </tickLabelFont> - </axisFormat> - </valueAxisFormat> - </timeSeriesPlot> - </timeSeriesChart> - </band> - </groupFooter> - </group> - <title> - <band height="20"> - <textField> - <reportElement x="1" y="0" width="831" height="20" forecolor="#3A5E75"/> - <textElement textAlignment="Center" verticalAlignment="Middle" markup="none"> - <font fontName="SansSerif" size="16" isBold="true"/> - </textElement> - <textFieldExpression><![CDATA[$R{br11b.title}]]></textFieldExpression> - </textField> - </band> - </title> + INNER JOIN v3_5_configuration_history_vms + ON ( + v3_5_configuration_history_vms.vm_id = + v3_5_statistics_vms_resources_usage_$P!{table_name}.vm_id + ) + WHERE + v3_5_statistics_vms_resources_usage_$P!{table_name}.history_datetime >= + CAST ( $P{P_Start_Date} as TIMESTAMP ) + AND v3_5_statistics_vms_resources_usage_$P!{table_name}.history_datetime < + CASE + WHEN $P{P_Period} = 0 + THEN CAST ( $P{P_Start_Date} AS TIMESTAMP ) + interval '1 day' + WHEN $P{P_Period} = 1 + THEN CAST ( $P{P_Start_Date} AS TIMESTAMP ) + interval '1 month' + WHEN $P{P_Period} = 2 + THEN CAST ( $P{P_Start_Date} AS TIMESTAMP ) + interval '3 month' + WHEN $P{P_Period} = 3 + THEN CAST ( $P{P_Start_Date} AS TIMESTAMP ) + interval '1 year' + END + -- Here we get the latest vms configuration + AND v3_5_configuration_history_vms.history_id IN ( + SELECT MAX ( a.history_id ) + FROM v3_5_configuration_history_vms AS a + GROUP BY a.vm_id + ) + -- Here we get only active vms + AND v3_5_statistics_vms_resources_usage_$P!{table_name}.vm_status = 1 + -- Here we get the top 5 most utilized vms + AND v3_5_statistics_vms_resources_usage_$P!{table_name}.vm_id IN ( + SELECT a.vm_id + FROM v3_5_statistics_vms_resources_usage_$P!{table_name} AS a + INNER JOIN v3_5_configuration_history_vms AS b + ON ( a.vm_id = b.vm_id ) + WHERE + -- Here we get only active vms + a.vm_status = 1 + -- Here we filter by the datacenter chosen by the user + AND b.cluster_id IN ( + SELECT v3_5_configuration_history_clusters.cluster_id + FROM v3_5_configuration_history_clusters + WHERE + v3_5_configuration_history_clusters.datacenter_id = + CAST ( $P{P_DataCenter_ID} as uuid ) + ) + -- Here we filter by the cluster chosen by the user + AND b.cluster_id = + CASE $P{P_Cluster_ID} + WHEN '11111111-1111-1111-1111-111111111111' + THEN b.cluster_id + ELSE CAST ( $P{P_Cluster_ID} as uuid ) + END + -- Here we filter by the vms type chosen by the user + AND b.vm_type = + CASE $P{P_VM_Type} + WHEN -1 + THEN b.vm_type + WHEN NULL + THEN b.vm_type + ELSE $P{P_VM_Type} + END + -- Here we get the latest vms configuration + AND b.history_id IN ( + SELECT MAX ( g.history_id ) + FROM v3_5_configuration_history_vms as g + GROUP BY g.vm_id + ) + AND a.history_datetime >= CAST ( $P{P_Start_Date} as TIMESTAMP ) + AND a.history_datetime < + CASE + WHEN $P{P_Period} = 0 + THEN CAST ( $P{P_Start_Date} AS TIMESTAMP ) + interval '1 day' + WHEN $P{P_Period} = 1 + THEN CAST ( $P{P_Start_Date} AS TIMESTAMP ) + interval '1 month' + WHEN $P{P_Period} = 2 + THEN CAST ( $P{P_Start_Date} AS TIMESTAMP ) + interval '3 month' + WHEN $P{P_Period} = 3 + THEN CAST ( $P{P_Start_Date} AS TIMESTAMP ) + interval '1 year' + END + -- This will determine if deleted hosts will be included in the report, + -- according to the user selection for "is_deleted" parameter + $P!{is_deleted} + GROUP BY a.vm_id + ORDER BY + SUM ( + COALESCE ( + a.max_memory_usage * a.minutes_in_status, + 0 + ) + ) / + SUM ( + COALESCE ( + a.minutes_in_status, + 0 + ) + ) + + SUM ( + COALESCE ( + a.max_cpu_usage * a.minutes_in_status, + 0 + ) + ) / + SUM ( + COALESCE ( + a.minutes_in_status, + 0 + ) + ) DESC + LIMIT 5 + ) + GROUP BY + v3_5_statistics_vms_resources_usage_$P!{table_name}.vm_id, + vm_name, + delete_date, + history_datetime +) AS a + RIGHT OUTER JOIN calendar b + ON ( + a.time = b.$P!{calendar_column} + ) +WHERE $P!{calendar_column} >= CAST ( $P{P_Start_Date} as date ) + AND $P!{calendar_column} < + CASE + WHEN $P{P_Period} = 0 + THEN CAST ( $P{P_Start_Date} AS TIMESTAMP ) + interval '1 day' + WHEN $P{P_Period} = 1 + THEN CAST ( $P{P_Start_Date} AS TIMESTAMP ) + interval '1 month' + WHEN $P{P_Period} = 2 + THEN CAST ( $P{P_Start_Date} AS TIMESTAMP ) + interval '3 month' + WHEN $P{P_Period} = 3 + THEN CAST ( $P{P_Start_Date} AS TIMESTAMP ) + interval '1 year' + END +ORDER BY $P!{calendar_column}]]> + </queryString> + <field name="the_date" class="java.sql.Timestamp"/> + <field name="vm_name" class="java.lang.String"/> + <field name="cpu_usage" class="java.math.BigDecimal"/> + <field name="mem_usage" class="java.math.BigDecimal"/> + <group name="Cluster"> + <groupExpression><![CDATA[$P{P_Cluster_ID}]]></groupExpression> + <groupFooter> + <band height="202"> + <timeSeriesChart> + <chart evaluationTime="Report" hyperlinkType="ReportExecution" hyperlinkTarget="Blank" customizerClass="com.ovirt.reports.jasper.PercentTimelineChartCustomizer" theme="ReportsLineBarChartTheme"> + <reportElement mode="Opaque" x="2" y="1" width="410" height="200" uuid="62de6abe-8985-4ba1-b296-dbfaf53fcf6f"/> + <box> + <pen lineWidth="1.0" lineColor="#3C617F"/> + <topPen lineWidth="1.0" lineColor="#3C617F"/> + <leftPen lineWidth="1.0" lineColor="#3C617F"/> + <bottomPen lineWidth="1.0" lineColor="#3C617F"/> + <rightPen lineWidth="1.0" lineColor="#3C617F"/> + </box> + <chartTitle> + <font fontName="SansSerif"/> + <titleExpression><![CDATA[$R{br11b.chart.vms.cpu.usage}]]></titleExpression> + </chartTitle> + <chartSubtitle/> + <chartLegend/> + <hyperlinkParameter name="_report"> + <hyperlinkParameterExpression><![CDATA["/Reports/Trend/Virtual_machines/five_most_utilized_vms_over_time_br11"]]></hyperlinkParameterExpression> + </hyperlinkParameter> + <hyperlinkParameter name="is_deleted"> + <hyperlinkParameterExpression><![CDATA[$P{is_deleted}]]></hyperlinkParameterExpression> + </hyperlinkParameter> + <hyperlinkParameter name="P_DataCenter_ID"> + <hyperlinkParameterExpression><![CDATA[$P{P_DataCenter_ID}]]></hyperlinkParameterExpression> + </hyperlinkParameter> + <hyperlinkParameter name="P_Cluster_ID"> + <hyperlinkParameterExpression><![CDATA[$P{P_Cluster_ID}]]></hyperlinkParameterExpression> + </hyperlinkParameter> + <hyperlinkParameter name="P_VM_Type"> + <hyperlinkParameterExpression><![CDATA[$P{P_VM_Type}]]></hyperlinkParameterExpression> + </hyperlinkParameter> + <hyperlinkParameter name="P_Period"> + <hyperlinkParameterExpression><![CDATA[$P{P_Period}]]></hyperlinkParameterExpression> + </hyperlinkParameter> + <hyperlinkParameter name="P_Start_Date"> + <hyperlinkParameterExpression><![CDATA[$P{P_Start_Date}]]></hyperlinkParameterExpression> + </hyperlinkParameter> + </chart> + <timeSeriesDataset timePeriod="Hour"> + <timeSeries> + <seriesExpression><![CDATA[$F{vm_name}]]></seriesExpression> + <timePeriodExpression><![CDATA[$F{the_date}]]></timePeriodExpression> + <valueExpression><![CDATA[$F{cpu_usage}]]></valueExpression> + <itemHyperlink> + <hyperlinkTooltipExpression><![CDATA[$F{vm_name} + ", " + $F{cpu_usage}.setScale(2, RoundingMode.HALF_UP).toString()]]></hyperlinkTooltipExpression> + </itemHyperlink> + </timeSeries> + </timeSeriesDataset> + <timeSeriesPlot isShowShapes="false"> + <plot labelRotation="-45.0"/> + <timeAxisLabelExpression><![CDATA[$R{axis.date}]]></timeAxisLabelExpression> + <timeAxisFormat> + <axisFormat labelColor="#666666" verticalTickLabels="false"> + <labelFont> + <font isBold="true"/> + </labelFont> + </axisFormat> + </timeAxisFormat> + <valueAxisLabelExpression><![CDATA[$R{axis.cpu.usage.percent}]]></valueAxisLabelExpression> + <valueAxisFormat> + <axisFormat labelColor="#666666" verticalTickLabels="false"> + <labelFont> + <font fontName="SansSerif"/> + </labelFont> + <tickLabelFont> + <font fontName="SansSerif"/> + </tickLabelFont> + </axisFormat> + </valueAxisFormat> + </timeSeriesPlot> + </timeSeriesChart> + <timeSeriesChart> + <chart evaluationTime="Report" hyperlinkType="ReportExecution" hyperlinkTarget="Blank" customizerClass="com.ovirt.reports.jasper.PercentTimelineChartCustomizer" theme="ReportsLineBarChartTheme"> + <reportElement mode="Opaque" x="421" y="1" width="410" height="200" uuid="0d1475a1-bb3b-40e5-a6ff-10b0d66f3cdd"/> + <box> + <pen lineWidth="1.0" lineColor="#3C617F"/> + <topPen lineWidth="1.0" lineColor="#3C617F"/> + <leftPen lineWidth="1.0" lineColor="#3C617F"/> + <bottomPen lineWidth="1.0" lineColor="#3C617F"/> + <rightPen lineWidth="1.0" lineColor="#3C617F"/> + </box> + <chartTitle> + <font fontName="SansSerif"/> + <titleExpression><![CDATA[$R{br11b.chart.vms.memory.usage}]]></titleExpression> + </chartTitle> + <chartSubtitle/> + <chartLegend/> + <hyperlinkParameter name="_report"> + <hyperlinkParameterExpression><![CDATA["/Reports/Trend/Virtual_machines/five_most_utilized_vms_over_time_br11"]]></hyperlinkParameterExpression> + </hyperlinkParameter> + <hyperlinkParameter name="is_deleted"> + <hyperlinkParameterExpression><![CDATA[$P{is_deleted}]]></hyperlinkParameterExpression> + </hyperlinkParameter> + <hyperlinkParameter name="P_DataCenter_ID"> + <hyperlinkParameterExpression><![CDATA[$P{P_DataCenter_ID}]]></hyperlinkParameterExpression> + </hyperlinkParameter> + <hyperlinkParameter name="P_Cluster_ID"> + <hyperlinkParameterExpression><![CDATA[$P{P_Cluster_ID}]]></hyperlinkParameterExpression> + </hyperlinkParameter> + <hyperlinkParameter name="P_VM_Type"> + <hyperlinkParameterExpression><![CDATA[$P{P_VM_Type}]]></hyperlinkParameterExpression> + </hyperlinkParameter> + <hyperlinkParameter name="P_Period"> + <hyperlinkParameterExpression><![CDATA[$P{P_Period}]]></hyperlinkParameterExpression> + </hyperlinkParameter> + <hyperlinkParameter name="P_Start_Date"> + <hyperlinkParameterExpression><![CDATA[$P{P_Start_Date}]]></hyperlinkParameterExpression> + </hyperlinkParameter> + </chart> + <timeSeriesDataset timePeriod="Hour"> + <timeSeries> + <seriesExpression><![CDATA[$F{vm_name}]]></seriesExpression> + <timePeriodExpression><![CDATA[$F{the_date}]]></timePeriodExpression> + <valueExpression><![CDATA[$F{mem_usage}]]></valueExpression> + <itemHyperlink> + <hyperlinkTooltipExpression><![CDATA[$F{vm_name} + ", " + $F{mem_usage}.setScale(2, RoundingMode.HALF_UP).toString()]]></hyperlinkTooltipExpression> + </itemHyperlink> + </timeSeries> + </timeSeriesDataset> + <timeSeriesPlot isShowShapes="false"> + <plot labelRotation="-45.0"/> + <timeAxisLabelExpression><![CDATA[$R{axis.date}]]></timeAxisLabelExpression> + <timeAxisFormat> + <axisFormat labelColor="#666666" verticalTickLabels="false"> + <labelFont> + <font isBold="true"/> + </labelFont> + </axisFormat> + </timeAxisFormat> + <valueAxisLabelExpression><![CDATA[$R{axis.memory.usage.percent}]]></valueAxisLabelExpression> + <valueAxisFormat> + <axisFormat labelColor="#666666" verticalTickLabels="false"> + <labelFont> + <font fontName="SansSerif"/> + </labelFont> + <tickLabelFont> + <font fontName="SansSerif"/> + </tickLabelFont> + </axisFormat> + </valueAxisFormat> + </timeSeriesPlot> + </timeSeriesChart> + </band> + </groupFooter> + </group> + <title> + <band height="20"> + <textField> + <reportElement x="1" y="0" width="831" height="20" forecolor="#3A5E75" uuid="5b3598c8-4ead-4513-8052-bfd3803dde65"/> + <textElement textAlignment="Center" verticalAlignment="Middle" markup="none"> + <font fontName="SansSerif" size="16" isBold="true"/> + </textElement> + <textFieldExpression><![CDATA[$R{br11b.title}]]></textFieldExpression> + </textField> + </band> + </title> </jasperReport> -- To view, visit http://gerrit.ovirt.org/27844 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I7f0f4752333b8886a10acb216c2f0913e254342f Gerrit-PatchSet: 1 Gerrit-Project: ovirt-reports Gerrit-Branch: master Gerrit-Owner: Shirly Radco <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
