Cloudwatch dashboard: widgets with independent time ranges? - amazon-web-services

I would like each widget in my Dashboard to have its own time range
I can't find a way to do this, and I would find it mind boggling if it's not possible.
I would like my Dashboard to contain the following stacked areas widgets:
RequestCount from the past hour with 30 seconds periods (i.e. 120 plot points)
RequestCount from the past day with 1 hour periods (i.e. 24 plot points)
RequestCount from the past week with 6 hour periods (i.e. 28 plot points)
However, I can't seem to enforce each widget's time range (only their periods), and the Dashboard's time range overrides everything, regardless of what I had previously set in each widget.
Is there a way for each widget to maintain its original time range?

Related

just show every hour as time tick in chart.js

i have the following plot from chart.js:
But right now I cannot find anything how to just show the full hour and going in 1h steps: So what I want is just a simple time axis scale with labels at 0,1,2,3,4,5,... so that multiple data points could are bewteen two time ticks like the data at 3:26, 3:58 and 3:12 are just 3 points between 3 and 4.
Thank you very much!

Can I make a Power BI Trend Chart with 3 Axis?

I have 3 values which I don't need to compare the size of them to each other, just their trending nature. However, when I try to put them into a line chart/combo chart one value is always drowned out.
THe values are: Summation of Spending, Percentage of Turns, and Time To Sell (in days). So one month can have this:
Spend: 200,000
Turns: 9%
TTS: 107
This data is by month as well.
The one thing I am trying from the below article is stacking charts on each other. Which is ugly and causes me to lose some visibility on the chart in the back.
This article gets me close but not quite.
Stack Overflow Question

How to use Math Expression in Cloudwatch to show the total latency across the specified timescale

In AWS Cloudwatch, I have a number widget and I want to find out the maximum latency over the timescale that is specified in the top right hand corner.
In the widget I have selected latency and maximum with a period of 5 minutes. But the number that I'm shown is only the last 5 minute period of the timescale that I selected in the top right hand corner. So if the timescale has 5 datapoints of 10 each, the maximum latency in my widget shows me 10 (the last datapoint). I would like it to show me 50. If I then extend the timescale, so I got from say 1 hour to 1 day, I would like the maximum latency in my widget to pick up that I have changed the timescale and show me the maximum latency over the whole day.
I know I need to use a math expression but I don't know what the formula I need to use is.
Number widget is displaying the value of the last (most recent) datapoint, and the span of that datapoint is defined by the period you set for that metric.
None of the math expressions can set the period of the metric to the selected dashboard range, you have to change it manually. If you set the range of the dashboard to 1 day, you have to edit the widget and change the period of the metric to also be 1 day if you want the widget to show maximum across the entire day.

ColdFusion Chart x-axis label limits

I'm using cfchart tag to draw my line chart in ColdFusion.
My x-axis range is from 1 to 24 and it is fix number of labels for all my charts.
But in my chart, I may have values for first 10 (or any fix number from 1 to 24) points. I mean, my query row count will be 10.
So query with 24 points will show full graph ad query with 10 points will show x-axis values from 0 to 10. But I want to scale the chart for 24 points regardless of query count.
cfchart has an option called scaleFrom and scaleTo to fix the y-axis series, Is there any option for x-axis series?
Following is a chart and it should scale it for 24 points on x-axis (lines from the 10th point will not be there).
<cfchart format="jpg"
xaxistitle=""
yaxistitle="" chartwidth="600" chartheight="120">
<cfchartseries type="line" paintstyle="shade"
query="qChart1" markerstyle="circle"
itemcolumn="CHARTLABEL"
valuecolumn="INTCHART1" />
</cfchart>
I think you are looking for
xAxistype="Scale" scaleMin="1" scaleMax="24"
xaxistype normally defaults to "category" which I believe is simply the query in order, but by setting to "scale" (must be all numeric values) you can alter this.
If you are wanting more custom formatting for charts fire up webcharts.bat in the charting folder of CF and fill your boots.
Saul's answer is more elegant than mine, but I'll still share.
I had the same problem with showing monthly activity for the last year. Sites that had only been active briefly, or who had no traffic/growth/whatever I was tracking didn't display correctly.
Instead of using a cfchartseries displaying a query, I looped over the time to be displayed, used a query of queries to extract the data for that month, and then added a data point for that month.
A bit brute force, but it worked.

Google Visualization Annotated Time Line, removing data points

I am trying to build a graph that will change resolution depending on how far you are zoomed in. Here is what it looks like when you are complete zoomed out.
So this looks good so when I zoom in I get a higher resolution data and my graph looks like this:
The problem is when I zoom out the higher resolution data does not get cleared out of the graph:
The tables below the graphs are table display what is in the DataTable. This is what drawing code looks like.
var g_graph = new google.visualization.AnnotatedTimeLine(document.getElementById('graph_div_json'));
var table = new google.visualization.Table(document.getElementById('table_div_json'));
function handleQueryResponse(response){
log("Drawing graph")
var data = response.getDataTable()
g_graph.draw(data, {allowRedraw:true, thickness:2, fill:50, scaleType:'maximized'})
table.draw(data, {allowRedraw:true})
}
I am try to find a way for it to only displaying the data that is in the DataTable. I have tried removing the allowRedraw flag but then it breaks the zooming operation.
Any help would be greatly appreciated.
Thanks
See also
Annotated TimeLine when zoomed-out, Too Many Datapoints.
you can remove the allow redraw flag.
In that case you have to put the data points manually in your data table
The latest date of the actual whole data
The most outdated date in the actual whole data.
this will retain your zooming operation.
I think you have already seen removing the allowRedraw flag, works but with a small problem, flickering the whole chart.
It seems to me that the best solution would be to draw every nth data point, depending on your level of zoom. On the Google Finance graph(s), the zoom levels are pre-determined at the top: 1m, 5m, 1h, 1 day, 5 days, etc. It seems evident that this is exactly what Google is doing. At the max view level, they're plotting points that fall on the month. If you're polling 1000 times a day (with each poll generating a single point), then you'd be taking every 30,000th point (the fist point being the very first one of the month, and the 30,000th one being the last point).
Each of these zoom levels would implement a different plot of the data points. Each point should have a time stamp with accuracy to the second, so you'll easily be able to scale the plot based on the level of detail.