2424 SERVICE_COMPONENT_MAP ,
2525)
2626from .date_utils import DateRange
27- from .logs import get_logger
2827from .prometheus import Prometheus
2928
30- logger = get_logger (__name__ )
31-
3229
3330class AWSCostExplorer (LoggingConfigurable ):
3431 @functools .cache
@@ -37,7 +34,7 @@ def _get_component_name(self, service_name):
3734 return SERVICE_COMPONENT_MAP [service_name ]
3835 else :
3936 # only printed once per service name thanks to memoization
40- logger .warning (
37+ self . log .warning (
4138 f"Service '{ service_name } ' not categorized as a component yet"
4239 )
4340 return "other"
@@ -255,7 +252,7 @@ def _process_home_storage_costs(
255252 0.0 , current_compute_cost - home_storage_cost
256253 )
257254 compute_entry ["cost" ] = f"{ new_compute_cost :.2f} "
258- logger .debug (
255+ self . log .debug (
259256 f"Adjusted compute cost for { date } : { current_compute_cost :.2f} -> { new_compute_cost :.2f} "
260257 )
261258
@@ -267,7 +264,7 @@ def _process_home_storage_costs(
267264 current_home_storage_cost + home_storage_cost
268265 )
269266 home_storage_entry ["cost" ] = f"{ new_home_storage_cost :.2f} "
270- logger .debug (
267+ self . log .debug (
271268 f"Updated home storage cost for { date } : { current_home_storage_cost :.2f} -> { new_home_storage_cost :.2f} "
272269 )
273270 else :
@@ -281,7 +278,7 @@ def _process_home_storage_costs(
281278 if date not in entries_by_date :
282279 entries_by_date [date ] = {}
283280 entries_by_date [date ]["home storage" ] = new_entry
284- logger .debug (
281+ self . log .debug (
285282 f"Added new home storage entry for { date } : { home_storage_cost :.2f} "
286283 )
287284
@@ -340,7 +337,7 @@ def _process_core_costs(self, entries_by_date, core_cost_response):
340337 entries_by_date: Dictionary indexed by date containing component entries
341338 core_cost_response: AWS Cost Explorer response for core costs
342339 """
343- logger .debug (
340+ self . log .debug (
344341 f"Processing core costs: { pformat (core_cost_response ['ResultsByTime' ])} "
345342 )
346343 for core_e in core_cost_response ["ResultsByTime" ]:
@@ -360,7 +357,7 @@ def _process_core_costs(self, entries_by_date, core_cost_response):
360357 current_compute_cost = float (compute_entry ["cost" ])
361358 new_compute_cost = max (0.0 , current_compute_cost - core_cost )
362359 compute_entry ["cost" ] = f"{ new_compute_cost :.2f} "
363- logger .debug (
360+ self . log .debug (
364361 f"Adjusted compute cost for { date } (core cost): { current_compute_cost :.2f} -> { new_compute_cost :.2f} "
365362 )
366363
@@ -370,7 +367,7 @@ def _process_core_costs(self, entries_by_date, core_cost_response):
370367 current_core_cost = float (core_entry ["cost" ])
371368 new_core_cost = current_core_cost + core_cost
372369 core_entry ["cost" ] = f"{ new_core_cost :.2f} "
373- logger .debug (
370+ self . log .debug (
374371 f"Updated core cost for { date } : { current_core_cost :.2f} -> { new_core_cost :.2f} "
375372 )
376373 else :
@@ -384,7 +381,7 @@ def _process_core_costs(self, entries_by_date, core_cost_response):
384381 if date not in entries_by_date :
385382 entries_by_date [date ] = {}
386383 entries_by_date [date ]["core" ] = new_entry
387- logger .debug (f"Added new core entry for { date } : { core_cost :.2f} " )
384+ self . log .debug (f"Added new core entry for { date } : { core_cost :.2f} " )
388385
389386 @ttl_lru_cache (seconds_to_live = 3600 )
390387 def query_total_costs_per_component (
@@ -424,7 +421,7 @@ def query_total_costs_per_component(
424421
425422 processed_response = []
426423
427- logger .debug (f"Processing response: { pformat (response ['ResultsByTime' ])} " )
424+ self . log .debug (f"Processing response: { pformat (response ['ResultsByTime' ])} " )
428425
429426 for e in response ["ResultsByTime" ]:
430427 # coalesce service costs to component costs
@@ -438,7 +435,7 @@ def query_total_costs_per_component(
438435 )
439436
440437 # Filter to specific component if requested
441- logger .debug (f"Component costs before filtering: { component_costs } " )
438+ self . log .debug (f"Component costs before filtering: { component_costs } " )
442439 if component :
443440 component_costs = {
444441 k : v for k , v in component_costs .items () if k == component
@@ -463,7 +460,7 @@ def query_total_costs_per_component(
463460 entries_by_date [date ] = {}
464461 entries_by_date [date ][entry ["component" ]] = entry
465462
466- logger .debug (f"Entries by date before deduplication: { entries_by_date } \n \n " )
463+ self . log .debug (f"Entries by date before deduplication: { entries_by_date } \n \n " )
467464
468465 # EC2 - Other is a service that can include costs for EBS volumes and snapshots
469466 # By default, these costs are mapped to the compute component, but
@@ -489,7 +486,7 @@ def query_total_costs_per_component(
489486 entries_by_date , home_storage_ebs_cost_response
490487 )
491488
492- logger .debug (
489+ self . log .debug (
493490 f"Entries by date after home storage processing: { entries_by_date } \n \n "
494491 )
495492
@@ -511,7 +508,7 @@ def query_total_costs_per_component(
511508 # Process core costs and adjust compute costs accordingly
512509 self ._process_core_costs (entries_by_date , core_cost_response )
513510
514- logger .debug (
511+ self . log .debug (
515512 f"Entries by date after core cost processing: { entries_by_date } \n \n "
516513 )
517514
@@ -633,7 +630,7 @@ def query_total_costs_per_user(
633630 )
634631 top_users = sorted (user_costs .items (), key = lambda x : - x [1 ])[:limit ]
635632 top_user_set = {user for user , _ in top_users }
636- logger .debug (f"Top users: { top_users } " )
633+ self . log .debug (f"Top users: { top_users } " )
637634 results = [entry for entry in results if entry ["user" ] in top_user_set ]
638635 results = self .prometheus ._filter_json (
639636 results , hub = hub , component = component , user = user , usergroup = usergroup
@@ -660,12 +657,12 @@ def query_total_costs_per_group(
660657 try :
661658 results = self .query_total_costs_per_user (date_range = date_range )
662659 except Exception as e :
663- logger .exception (f"HTTP request failed: { e } " )
660+ self . log .exception (f"HTTP request failed: { e } " )
664661 raise
665662 response = {}
666663 for r in results :
667664 key = (r ["date" ], r ["usergroup" ])
668- logger .debug (f"Key: { key } , Value: { r ['value' ]} " )
665+ self . log .debug (f"Key: { key } , Value: { r ['value' ]} " )
669666 response [key ] = response .get (key , 0 ) + float (r ["value" ])
670667
671668 final_response = [
0 commit comments