Skip to content

Commit 6b2978c

Browse files
authored
Merge pull request #141 from yannikzbick/yz-final
Update PUE + GEF
2 parents 0eb7bcd + 01059a9 commit 6b2978c

File tree

8 files changed

+131
-60
lines changed

8 files changed

+131
-60
lines changed

extension/src/main/java/io/retit/opentelemetry/javaagent/extension/emissions/CloudCarbonFootprintData.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ void init() {
5454
this.microarchitecture = InstanceConfiguration.getMicroarchitecture();
5555
this.gridEmissionsFactor = initializeGridEmissionFactor(InstanceConfiguration.getCloudProviderRegion());
5656
cloudInstanceDetails = initializeCloudInstanceDetails(InstanceConfiguration.getCloudProviderInstanceType());
57-
this.pueValue = initializePueValue();
57+
this.pueValue = initializePueValue(InstanceConfiguration.getCloudProviderRegion());
5858
}
5959

6060
public Double getGridEmissionsFactor() {
@@ -271,14 +271,17 @@ public Double getTotalEmbodiedEmissionsForInstanceType(final String instanceType
271271
return 0.0;
272272
}
273273

274-
private Double initializePueValue() {
274+
private Double initializePueValue(final String region) {
275275
double returnValue = 0.0;
276276
if (Constants.RETIT_EMISSIONS_CLOUD_PROVIDER_CONFIGURATION_PROPERTY_VALUE_AWS.equalsIgnoreCase(InstanceConfiguration.getCloudProvider())) {
277-
returnValue = CloudCarbonFootprintCoefficients.AWS_PUE;
277+
double pue = getDoubleValueFromCSVForRegionOrInstance("/pue/pue-aws.csv", 1, region, 3);
278+
returnValue = (pue == 0.0) ? CloudCarbonFootprintCoefficients.AWS_PUE : pue;
278279
} else if (Constants.RETIT_EMISSIONS_CLOUD_PROVIDER_CONFIGURATION_PROPERTY_VALUE_AZURE.equalsIgnoreCase(InstanceConfiguration.getCloudProvider())) {
279-
returnValue = CloudCarbonFootprintCoefficients.AZURE_PUE;
280+
double pue = getDoubleValueFromCSVForRegionOrInstance("/pue/pue-azure.csv", 3, region, 1);
281+
returnValue = (pue == 0.0) ? CloudCarbonFootprintCoefficients.AZURE_PUE : pue;
280282
} else if (Constants.RETIT_EMISSIONS_CLOUD_PROVIDER_CONFIGURATION_PROPERTY_VALUE_GCP.equalsIgnoreCase(InstanceConfiguration.getCloudProvider())) {
281-
returnValue = CloudCarbonFootprintCoefficients.GCP_PUE;
283+
double pue = getDoubleValueFromCSVForRegionOrInstance("/pue/pue-gcp.csv", 3, region, 1);
284+
returnValue = (pue == 0.0) ? CloudCarbonFootprintCoefficients.GCP_PUE : pue;
282285
}
283286
return returnValue;
284287
}

extension/src/main/resources/ccf-coefficients/grid-emissions/grid-emissions-factors-aws.csv

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,22 @@ us-west-1,United States,WECC,0.000350861,EPA
55
us-west-2,United States,WECC,0.000350861,EPA
66
us-gov-east-1,United States,SERC,0.000415755,EPA
77
us-gov-west-1,United States,WECC,0.000350861,EPA
8-
af-south-1,South Africa,,0.000928,carbonfootprint.com
9-
ap-east-1,Hong Kong,,0.00081,carbonfootprint.com
10-
ap-south-1,India,,0.000708,carbonfootprint.com
11-
ap-northeast-3,Japan,,0.000506,carbonfootprint.com
12-
ap-northeast-2,South Korea,,0.0005,carbonfootprint.com
13-
ap-southeast-1,Singapore,,0.0004085,EMA Singapore
14-
ap-southeast-2,Australia,,0.00079,carbonfootprint.com
15-
ap-northeast-1,Japan,,0.000506,carbonfootprint.com
16-
ca-central-1,Canada,,0.00013,carbonfootprint.com
17-
cn-north-1,China,,0.000555,carbonfootprint.com
18-
cn-northwest-1,China,,0.000555,carbonfootprint.com
19-
eu-central-1,Germany,,0.000338,EEA
20-
eu-west-1,Ireland,,0.000316,EEA
21-
eu-west-2,England,,0.000228,EEA
22-
eu-south-1,Italy,,0.000233,EEA
23-
eu-west-3,France,,0.000052,EEA
24-
eu-north-1,Sweden,,0.000008,EEA
25-
me-south-1,Bahrain,,0.000732,carbonfootprint.com
26-
sa-east-1,Brazil,,0.000074,carbonfootprint.com
8+
af-south-1,South Africa,,0.00077347,carbondi.com
9+
ap-east-1,Hong Kong,,0.00069294,carbondi.com
10+
ap-south-1,India,,0.00093355,carbondi.com
11+
ap-northeast-3,Japan,,0.00045773,carbondi.com
12+
ap-northeast-2,South Korea,,0.00048755,carbondi.com
13+
ap-southeast-1,Singapore,,0.00050249,carbondi.com
14+
ap-southeast-2,Australia,,0.00059512,carbondi.com
15+
ap-northeast-1,Japan,,0.00045773,carbondi.com
16+
ca-central-1,Canada,,0.00011600,carbondi.com
17+
cn-north-1,China,,0.00066080,carbondi.com
18+
cn-northwest-1,China,,0.00066080,carbondi.com
19+
eu-central-1,Germany,,0.00037995,carbondi.com
20+
eu-west-1,Ireland,,0.00031413,carbondi.com
21+
eu-west-2,England,,0.00020705,carbondi.com
22+
eu-south-1,Italy,,0.00031432,carbondi.com
23+
eu-west-3,France,,0.00007055,carbondi.com
24+
eu-north-1,Sweden,,0.00001518,carbondi.com
25+
me-south-1,Bahrain,,0.00051086,carbondi.com
26+
sa-east-1,Brazil,,0.00007410,carbondi.com

extension/src/main/resources/ccf-coefficients/grid-emissions/grid-emissions-factors-azure.csv

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,17 @@ West Central US,Wyoming,WECC,0.000350861,EPA
99
West US,California,WECC,0.000350861,EPA
1010
West US 2,Washington,WECC,0.000350861,EPA
1111
West US 3,Arizona,WECC,0.000350861,EPA
12-
East Asia,Hong Kong,,0.00081,carbonfootprint.com
13-
Southeast Asia,Singapore,,0.0004085,EMA Singapore
14-
North Europe,Ireland,,0.000316,EEA
15-
West Europe,Netherlands,,0.00039,EEA
16-
Central India,Pune,,0.000708,carbonfootprint.com
17-
South India,Chennai,,0.000708,carbonfootprint.com
18-
West India,Mumbai,,0.000708,carbonfootprint.com
19-
UK South,London,,0.000228,EEA
20-
UK West,Cardiff,,0.000228,EEA
21-
France Central,Paris,,0.000067,EEA
22-
Finland Central,Helsinki,,0.00077,EEA,
23-
Germany West Central,Frankfurt,,0.00402,EEA
24-
Belgium Central,Brussels,,0.000154,EEA
25-
Sweden Central,Gavle,,0.000009,EEA
12+
East Asia,Hong Kong,,0.00069294,carbondi.com
13+
Southeast Asia,Singapore,,0.00050249,carbondi.com
14+
North Europe,Ireland,,0.00031413,carbondi.com
15+
West Europe,Netherlands,,0.00030901,carbondi.com
16+
Central India,Pune,,0.00093355,carbondi.com
17+
South India,Chennai,,0.00093355,carbondi.com
18+
West India,Mumbai,,0.00093355,carbondi.com
19+
UK South,London,,0.00020705,carbondi.com
20+
UK West,Cardiff,,0.00020705,carbondi.com
21+
France Central,Paris,,0.00007055,carbondi.com
22+
Finland Central,Helsinki,,0.00009501,carbondi.com,
23+
Germany West Central,Frankfurt,,0.00037995,carbondi.com
24+
Belgium Central,Brussels,,0.00012525,carbondi.com
25+
Sweden Central,Gavle,,0.00001518,carbondi.com

extension/src/main/resources/ccf-coefficients/grid-emissions/grid-emissions-factors-gcp.csv

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,20 @@ us-west1,Oregon,0.000117,Google
66
us-west2,Los Angeles,0.000248,Google
77
us-west3,Salt Lake City,0.000561,Google
88
us-west4,Las Vegas,0.000491,Google
9-
asia-east1,Taiwan,0.000541,Google
10-
asia-east2,Hong Kong,0.000626,Google
11-
asia-northeast1,Japan,0.000524,Google
12-
asia-northeast2,Japan,0.000524,Google
13-
asia-northeast3,South Korea,0.00054,Google
14-
asia-south1,India,0.000723,Google
15-
asia-southeast1,Singapore,0.000493,Google
16-
asia-southeast2,Indonesia,0.000772,Google
17-
australia-southeast1,Australia,0.000725,Google
18-
europe-north1,Finland,0.000181,Google
19-
europe-west1,Belgium,0.000196,Google
20-
europe-west2,England,0.000257,Google
21-
europe-west3,Germany,0.000319,Google
22-
europe-west4,Netherlands,0.000474,Google
23-
europe-west6,Switzerland,0.000029,Google
24-
northamerica-northeast1,Canada,0.000143,Google
25-
southamerica-east1,Brazil,0.000109,Google
9+
asia-east1,Taiwan,0.00063602,carbondi.com
10+
asia-east2,Hong Kong,0.00069294,carbondi.com
11+
asia-northeast1,Japan,0.00045773,carbondi.com
12+
asia-northeast2,Japan,0.00045773,carbondi.com
13+
asia-northeast3,South Korea,0.00048755,carbondi.com
14+
asia-south1,India,0.00093355,carbondi.com
15+
asia-southeast1,Singapore,0.00050249,carbondi.com
16+
asia-southeast2,Indonesia,0.00070711,carbondi.com
17+
australia-southeast1,Australia,0.00059512,carbondi.com
18+
europe-north1,Finland,0.00009501,carbondi.com
19+
europe-west1,Belgium,0.00012525,carbondi.com
20+
europe-west2,England,0.00020705,carbondi.com
21+
europe-west3,Germany,0.00037995,carbondi.com
22+
europe-west4,Netherlands,0.00030901,carbondi.com
23+
europe-west6,Switzerland,0.00002369,carbondi.com
24+
northamerica-northeast1,Canada,0.00011600,carbondi.com
25+
southamerica-east1,Brazil,0.00007410,carbondi.com
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
Geography,Region,Year,PUE
2+
GLOBAL,GLOBAL,2023,1.15
3+
AMER,AMER,2023,1.14
4+
EMEA,EMEA,2023,1.12
5+
APAC,APAC,2023,1.28
6+
Europe (Stockholm),eu-north-1,2023,1.12
7+
Middle East (Bahrain),me-south-1,2023,1.32
8+
Asia-Pacific (Mumbai),ap-south-1,2023,1.44
9+
Asia-Pacific (Jakarta),ap-southeast-3,2023,1.35
10+
U.S. East (Ohio),us-east-2,2023,1.12
11+
Africa (Cape Town),af-south-1,2023,1.24
12+
Europe (Ireland),eu-west-1,2023,1.1
13+
Middle East (UAE),me-central-1,2023,1.36
14+
Europe (Frankfurt),eu-central-1,2023,1.33
15+
South America (Sao Paulo),sa-east-1,2023,1.18
16+
Asia-Pacific (Hyderabad),ap-south-2,2023,1.5
17+
U.S. East (Northern Virginia),us-east-1,2023,1.15
18+
Asia-Pacific (Melbourne),ap-southeast-4,2023,1.08
19+
Asia-Pacific (Tokyo),ap-northeast-1,2023,1.32
20+
U.S. West (Oregon),us-west-2,2023,1.13
21+
U.S. West (Northern California),us-west-1,2023,1.17
22+
Asia-Pacific (Singapore),ap-southeast-1,2023,1.3
23+
Asia-Pacific (Sydney),ap-southeast-2,2023,1.15
24+
Canada (Central),ca-central-1,2023,1.22
25+
Europe (Spain),eu-south-2,2023,1.11
26+
China (Ningxia),cn-northwest-1,2023,1.26
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
"Geography","PUE","WUE (L/kWh)","Region"
2+
"Arizona",1.13,1.52,"West US 3"
3+
"Illinois",1.25,0.52,"North Central US"
4+
"Iowa",1.16,0.10,"Central US"
5+
"Texas",1.28,0.24,"South Central US"
6+
"Virginia",1.14,0.18,"East US"
7+
"Washington",1.16,0.70,"West US 2"
8+
"Wyoming",1.12,0.16,"West Central US"
9+
"Singapore",1.30,0.02,"Southeast Asia"
10+
"Ireland",1.18,0.02,"North Europe"
11+
"Netherlands",1.14,0.04,"West Europe"
12+
"Sweden",1.16,0.05,"Sweden Central"
13+
"Poland",1.19,0.44,"Poland Central"
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
"Campuses","Quarterly","TrailingTwelveMonth","Region"
2+
"Douglas County, Georgia",1.12,1.09,us-east1
3+
"Lenoir, North Carolina",1.24,1.13,us-east1
4+
"Berkeley County, South Carolina",1.13,1.10,us-east1
5+
"Montgomery County, Tennessee",1.13,1.10,us-east1
6+
"Jackson County, Alabama",1.13,1.10,us-east1
7+
"Loudoun County, Virginia",1.11,1.09,us-east4
8+
"Loudoun County, Virginia (2nd facility)",1.09,1.08,us-east4
9+
"Central Ohio (Columbus), Ohio",1.05,0.0,us-east5
10+
"Central Ohio (New Albany), Ohio",1.07,1.08,us-east5
11+
"Central Ohio (Lancaster), Ohio",1.04,0.0,us-east5
12+
"Council Bluffs, Iowa",1.13,1.11,us-central1
13+
"Council Bluffs, Iowa (2nd facility)",1.08,1.07,us-central1
14+
"Papillion, Nebraska",1.10,1.09,us-central1
15+
"Mayes County, Oklahoma",1.14,1.11,us-south1
16+
"Midlothian, Texas",1.13,1.11,us-south1
17+
"The Dalles, Oregon",1.11,1.10,us-west1
18+
"The Dalles, Oregon (2nd facility)",1.08,1.07,us-west1
19+
"Henderson, Nevada",1.11,1.09,us-west4
20+
"Storey County, Nevada",1.22,1.17,us-west4
21+
"Dublin, Ireland",1.07,1.08,N/A
22+
"St. Ghislain, Belgium",1.08,1.08,europe-west1
23+
"Eemshaven, Netherlands",1.08,1.08,europe-west4
24+
"Fredericia, Denmark",1.07,1.08,N/A
25+
"Hamina, Finland",1.10,1.10,europe-north1
26+
"Changua County, Taiwan",1.15,1.12,asia-east1
27+
"Singapore",1.13,1.13,asia-southeast1
28+
"Singapore (2nd facility)",1.15,1.16,asia-southeast1
29+
"Quilicura, Chile",1.09,1.10,southamerica-west1

extension/src/test/java/io/retit/opentelemetry/javaagent/extension/emissions/CloudCarbonFootprintDataTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public void testCloudCarbonFootprintDataAWS() {
3939
CloudCarbonFootprintData instance = CloudCarbonFootprintData.getConfigInstance();
4040
instance.init();
4141
Assertions.assertNotNull(instance);
42-
Assertions.assertEquals(0.338, instance.getGridEmissionsFactor());
42+
Assertions.assertEquals(0.37995, instance.getGridEmissionsFactor());
4343
CloudCarbonFootprintInstanceData cloudCarbonFootprintInstanceData = instance.getCloudInstanceDetails();
4444
Assertions.assertNotNull(cloudCarbonFootprintInstanceData);
4545

@@ -59,7 +59,7 @@ public void testCloudCarbonFootprintDataGCP() {
5959
CloudCarbonFootprintData instance = CloudCarbonFootprintData.getConfigInstance();
6060
instance.init();
6161
Assertions.assertNotNull(instance);
62-
Assertions.assertEquals(0.319, instance.getGridEmissionsFactor());
62+
Assertions.assertEquals(0.37995, instance.getGridEmissionsFactor());
6363
CloudCarbonFootprintInstanceData cloudCarbonFootprintInstanceData = instance.getCloudInstanceDetails();
6464
Assertions.assertNotNull(cloudCarbonFootprintInstanceData);
6565
Assertions.assertEquals(4, cloudCarbonFootprintInstanceData.getInstanceVCpuCount());
@@ -79,7 +79,7 @@ public void testCloudCarbonFootprintDataGCPWithMicroarchitecture() {
7979
CloudCarbonFootprintData instance = CloudCarbonFootprintData.getConfigInstance();
8080
instance.init();
8181
Assertions.assertNotNull(instance);
82-
Assertions.assertEquals(0.319, instance.getGridEmissionsFactor());
82+
Assertions.assertEquals(0.37995, instance.getGridEmissionsFactor());
8383
CloudCarbonFootprintInstanceData cloudCarbonFootprintInstanceData = instance.getCloudInstanceDetails();
8484
Assertions.assertNotNull(cloudCarbonFootprintInstanceData);
8585
Assertions.assertEquals(4, cloudCarbonFootprintInstanceData.getInstanceVCpuCount());
@@ -98,7 +98,7 @@ public void testCloudCarbonFootprintDataAzure() {
9898
CloudCarbonFootprintData instance = CloudCarbonFootprintData.getConfigInstance();
9999
instance.init();
100100
Assertions.assertNotNull(instance);
101-
Assertions.assertEquals(0.39, instance.getGridEmissionsFactor());
101+
Assertions.assertEquals(0.30901, instance.getGridEmissionsFactor());
102102
CloudCarbonFootprintInstanceData cloudCarbonFootprintInstanceData = instance.getCloudInstanceDetails();
103103
Assertions.assertNotNull(cloudCarbonFootprintInstanceData);
104104
Assertions.assertEquals(1, cloudCarbonFootprintInstanceData.getInstanceVCpuCount());
@@ -118,7 +118,7 @@ public void testCloudCarbonFootprintDataAzureWithMicroarchitecture() {
118118
CloudCarbonFootprintData instance = CloudCarbonFootprintData.getConfigInstance();
119119
instance.init();
120120
Assertions.assertNotNull(instance);
121-
Assertions.assertEquals(0.39, instance.getGridEmissionsFactor());
121+
Assertions.assertEquals(0.30901, instance.getGridEmissionsFactor());
122122
CloudCarbonFootprintInstanceData cloudCarbonFootprintInstanceData = instance.getCloudInstanceDetails();
123123
Assertions.assertNotNull(cloudCarbonFootprintInstanceData);
124124
Assertions.assertEquals(0.8, cloudCarbonFootprintInstanceData.getInstanceVCpuCount());

0 commit comments

Comments
 (0)