Skip to content

Instantly share code, notes, and snippets.

@burnsie7
Created March 3, 2020 16:56
Show Gist options
  • Save burnsie7/0c439c9e837e0b06f3a82f3ecfc12bfb to your computer and use it in GitHub Desktop.
Save burnsie7/0c439c9e837e0b06f3a82f3ecfc12bfb to your computer and use it in GitHub Desktop.
EC2 pricing metrics
"""
Disclaimer:
These projects are not a part of Datadog's subscription services and are provided for example purposes only
They are NOT guaranteed to be bug free and are not production quality
If you choose to use to adapt them for use in a production environment, you do so at your own risk.
"""
from datadog import statsd
costs = [['a1.medium',0.03], ['a1.large',0.05], ['a1.xlarge',0.1], ['a1.2xlarge',0.2], ['a1.4xlarge',0.41],
['a1.metal',0.41], ['t3.nano',0.01], ['t3.micro',0.01], ['t3.small',0.02], ['t3.medium',0.04],
['t3.large',0.08], ['t3.xlarge',0.17], ['t3.2xlarge',0.33], ['t3a.nano',0], ['t3a.micro',0.01],
['t3a.small',0.02], ['t3a.medium',0.04], ['t3a.large',0.08], ['t3a.xlarge',0.15], ['t3a.2xlarge',0.3],
['t2.nano',0.01], ['t2.micro',0.01], ['t2.small',0.02], ['t2.medium',0.05], ['t2.large',0.09],
['t2.xlarge',0.19], ['t2.2xlarge',0.37], ['m5.large',0.1], ['m5.xlarge',0.19], ['m5.2xlarge',0.38],
['m5.4xlarge',0.77], ['m5.8xlarge',1.54], ['m5.12xlarge',2.3], ['m5.16xlarge',3.07], ['m5.24xlarge',4.61],
['m5.metal',4.61], ['m5a.large',0.09], ['m5a.xlarge',0.17], ['m5a.2xlarge',0.34], ['m5a.4xlarge',0.69],
['m5a.8xlarge',1.38], ['m5a.12xlarge',2.06], ['m5a.16xlarge',2.75], ['m5a.24xlarge',4.13], ['m5ad.large',0.1],
['m5ad.xlarge',0.21], ['m5ad.2xlarge',0.41], ['m5ad.4xlarge',0.82], ['m5ad.12xlarge',2.47],
['m5ad.24xlarge',4.94], ['m5d.large',0.11], ['m5d.xlarge',0.23], ['m5d.2xlarge',0.45], ['m5d.4xlarge',0.9],
['m5d.8xlarge',1.81], ['m5d.12xlarge',2.71], ['m5d.16xlarge',3.62], ['m5d.24xlarge',5.42], ['m5d.metal',5.42],
['m5dn.large',0.14], ['m5dn.xlarge',0.27], ['m5dn.2xlarge',0.54], ['m5dn.4xlarge',1.09], ['m5dn.8xlarge',2.18],
['m5dn.12xlarge',3.26], ['m5dn.16xlarge',4.35], ['m5dn.24xlarge',6.53], ['m5n.large',0.12], ['m5n.xlarge',0.24],
['m5n.2xlarge',0.48], ['m5n.4xlarge',0.95], ['m5n.8xlarge',1.9], ['m5n.12xlarge',2.86], ['m5n.16xlarge',3.81],
['m5n.24xlarge',5.71], ['m4.large',0.1], ['m4.xlarge',0.2], ['m4.2xlarge',0.4], ['m4.4xlarge',0.8],
['m4.10xlarge',2], ['m4.16xlarge',3.2], ['c5.large',0.09], ['c5.xlarge',0.17], ['c5.2xlarge',0.34],
['c5.4xlarge',0.68], ['c5.9xlarge',1.53], ['c5.12xlarge',2.04], ['c5.18xlarge',3.06], ['c5.24xlarge',4.08],
['c5.metal',4.08], ['c5d.large',0.1], ['c5d.xlarge',0.19], ['c5d.2xlarge',0.38], ['c5d.4xlarge',0.77],
['c5d.9xlarge',1.73], ['c5d.12xlarge',2.3], ['c5d.18xlarge',3.46], ['c5d.24xlarge',4.61], ['c5d.metal',4.61],
['c5n.large',0.11], ['c5n.xlarge',0.22], ['c5n.2xlarge',0.43], ['c5n.4xlarge',0.86], ['c5n.9xlarge',1.94],
['c5n.18xlarge',3.89], ['c5n.metal',3.89], ['c4.large',0.1], ['c4.xlarge',0.2], ['c4.2xlarge',0.4],
['c4.4xlarge',0.8], ['c4.8xlarge',1.59], ['p3.2xlarge',3.06], ['p3.8xlarge',12.24], ['p3.16xlarge',24.48],
['p2.xlarge',0.9], ['p2.8xlarge',7.2], ['p2.16xlarge',14.4], ['g4dn.xlarge',0.53], ['g4dn.2xlarge',0.75],
['g4dn.4xlarge',1.2], ['g4dn.8xlarge',2.18], ['g4dn.12xlarge',3.91], ['g4dn.16xlarge',4.35],
['g3.4xlarge',1.14], ['g3.8xlarge',2.28], ['g3.16xlarge',4.56], ['g3s.xlarge',0.75], ['x1.16xlarge',6.67],
['x1.32xlarge',13.34], ['x1e.xlarge',0.83], ['x1e.2xlarge',1.67], ['x1e.4xlarge',3.34], ['x1e.8xlarge',6.67],
['x1e.16xlarge',13.34], ['x1e.32xlarge',26.69], ['r5.large',0.13], ['r5.xlarge',0.25], ['r5.2xlarge',0.5],
['r5.4xlarge',1.01], ['r5.8xlarge',2.02], ['r5.12xlarge',3.02], ['r5.16xlarge',4.03], ['r5.24xlarge',6.05],
['r5.metal',6.05], ['r5a.large',0.11], ['r5a.xlarge',0.23], ['r5a.2xlarge',0.45], ['r5a.4xlarge',0.9],
['r5a.8xlarge',1.81], ['r5a.12xlarge',2.71], ['r5a.16xlarge',3.62], ['r5a.24xlarge',5.42], ['r5ad.large',0.13],
['r5ad.xlarge',0.26], ['r5ad.2xlarge',0.52], ['r5ad.4xlarge',1.05], ['r5ad.12xlarge',3.14],
['r5ad.24xlarge',6.29], ['r5d.large',0.14], ['r5d.xlarge',0.29], ['r5d.2xlarge',0.58], ['r5d.4xlarge',1.15],
['r5d.8xlarge',2.3], ['r5d.12xlarge',3.46], ['r5d.16xlarge',4.61], ['r5d.24xlarge',6.91], ['r5d.metal',6.91],
['r5dn.large',0.17], ['r5dn.xlarge',0.33], ['r5dn.2xlarge',0.67], ['r5dn.4xlarge',1.34], ['r5dn.8xlarge',2.67],
['r5dn.12xlarge',4.01], ['r5dn.16xlarge',5.34], ['r5dn.24xlarge',8.02], ['r5n.large',0.15], ['r5n.xlarge',0.3],
['r5n.2xlarge',0.6], ['r5n.4xlarge',1.19], ['r5n.8xlarge',2.38], ['r5n.12xlarge',3.58], ['r5n.16xlarge',4.77],
['r5n.24xlarge',7.15], ['r4.large',0.13], ['r4.xlarge',0.27], ['r4.2xlarge',0.53], ['r4.4xlarge',1.06],
['r4.8xlarge',2.13], ['r4.16xlarge',4.26], ['z1d.large',0.19], ['z1d.xlarge',0.37], ['z1d.2xlarge',0.74],
['z1d.3xlarge',1.12], ['z1d.6xlarge',2.23], ['z1d.12xlarge',4.46], ['z1d.metal',4.46], ['i3.large',0.16],
['i3.xlarge',0.31], ['i3.2xlarge',0.62], ['i3.4xlarge',1.25], ['i3.8xlarge',2.5], ['i3.16xlarge',4.99],
['i3.metal',4.99], ['i3en.large',0.23], ['i3en.xlarge',0.45], ['i3en.2xlarge',0.9], ['i3en.3xlarge',1.36],
['i3en.6xlarge',2.71], ['i3en.12xlarge',5.42], ['i3en.24xlarge',10.85], ['i3en.metal',10.85], ['h1.2xlarge',0.47],
['h1.4xlarge',0.94], ['h1.8xlarge',1.87], ['h1.16xlarge',3.74], ['d2.xlarge',0.69], ['d2.2xlarge',1.38],
['d2.4xlarge',2.76], ['d2.8xlarge',5.52]]
print('submitting pricing metrics')
for x in costs:
itype = 'instance-type:' + x[0]
hname = 'host: ' # uses blank hostname
statsd.gauge('datadog.demo.ec2_cost_per_hour', x[1], tags=[itype, hname])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment