
    'g[                     0    d dl Z d dlmZmZ  G d d      Zy)    N)NoCredentialsErrorPartialCredentialsErrorc                       e Zd Zd Zd Zd Zy)BaseMetricsc                 X    || _         || _        || _        | j                         | _        y )N)
access_key
secret_keyregioncreate_clientclient)selfr   r	   r
   s       4/opt/lhia/tcloud/backend/python/base/base_metrics.py__init__zBaseMetrics.__init__   s'    $$((*    c                     	 t        j                  d| j                  | j                  | j                        }|S # t
        t        f$ r}t        d|        Y d }~y d }~ww xY w)N
cloudwatch)aws_access_key_idaws_secret_access_keyregion_nameError: )boto3r   r   r	   r
   r   r   print)r   r   es      r   r   zBaseMetrics.create_client   s[    
	\\"&//&*oo KK	F M"$;< 	GA3- 	s   8; A"
AA"c                     | j                   st        d       y 	 | j                   j                  d|||d||dddg||      }|S # t        $ r}	t        d|	        Y d }	~	y d }	~	ww xY w)	NzNo client available.m1)	Namespace
MetricName
Dimensions)MetricPeriodStatT)Id
MetricStat
ReturnData)MetricDataQueries	StartTimeEndTimer   )r   r   get_metric_data	Exception)
r   metric_name	namespace
dimensions
start_timeend_timeperiod
statisticsresponser   s
             r   r(   zBaseMetrics.get_metric_data   s    {{()	{{22 # .7.9.8'
 '-$.' '+# % # 3 H& O 	GA3- 	s   ,A 	A(A##A(N)__name__
__module____qualname__r   r   r(    r   r   r   r      s    +r   r   )r   botocore.exceptionsr   r   r   r5   r   r   <module>r7      s     K0 0r   