Skip to content

Commit 7436666

Browse files
authored
[aws][fix] Fix S3 storage metrics retrieval (#2049)
1 parent 62e3f8a commit 7436666

File tree

1 file changed

+7
-5
lines changed
  • plugins/aws/fix_plugin_aws/resource

1 file changed

+7
-5
lines changed

plugins/aws/fix_plugin_aws/resource/s3.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
from attr import field
66
from attrs import define
7+
from datetime import timedelta
78

89
from fix_plugin_aws.aws_client import AwsClient
910
from fix_plugin_aws.resource.base import AwsResource, AwsApiSpec, GraphBuilder, parse_json
@@ -317,9 +318,9 @@ def _get_tags(self, client: AwsClient) -> Dict[str, str]:
317318
def collect_usage_metrics(cls: Type[AwsResource], builder: GraphBuilder) -> None:
318319
s3s = {s3.id: s3 for s3 in builder.nodes(clazz=AwsS3Bucket) if s3.region().id == builder.region.id}
319320
queries = []
320-
delta = builder.metrics_delta
321-
start = builder.metrics_start
321+
delta = timedelta(days=1)
322322
now = builder.created_at
323+
start = now - timedelta(days=2)
323324

324325
for s3_id, s3 in s3s.items():
325326
queries.append(
@@ -328,9 +329,10 @@ def collect_usage_metrics(cls: Type[AwsResource], builder: GraphBuilder) -> None
328329
namespace="AWS/S3",
329330
period=delta,
330331
ref_id=s3_id,
331-
stat="Average", # only one valid statistic
332+
stat="Average",
332333
unit="Count",
333334
BucketName=s3.name or s3.safe_name,
335+
StorageType="AllStorageTypes",
334336
)
335337
)
336338
queries.append(
@@ -339,9 +341,10 @@ def collect_usage_metrics(cls: Type[AwsResource], builder: GraphBuilder) -> None
339341
namespace="AWS/S3",
340342
period=delta,
341343
ref_id=s3_id,
342-
stat="Average", # only one valid statistic
344+
stat="Average",
343345
unit="Bytes",
344346
BucketName=s3.name or s3.safe_name,
347+
StorageType="StandardStorage",
345348
)
346349
)
347350
metric_normalizers = {
@@ -358,7 +361,6 @@ def collect_usage_metrics(cls: Type[AwsResource], builder: GraphBuilder) -> None
358361
}
359362

360363
cloudwatch_result = AwsCloudwatchMetricData.query_for(builder, queries, start, now)
361-
362364
update_resource_metrics(s3s, cloudwatch_result, metric_normalizers)
363365

364366
def update_resource_tag(self, client: AwsClient, key: str, value: str) -> bool:

0 commit comments

Comments
 (0)