Add better error message consuming and dict processing
Change-Id: Iccdc69260318aabc9f8c79c8ea9efb84bdeea531
This commit is contained in:
parent
a6419e6cf3
commit
da4b4e85b2
@ -18,6 +18,7 @@ class OpenTSDBError(Exception):
|
|||||||
def __init__(self, msg=None):
|
def __init__(self, msg=None):
|
||||||
if msg is None:
|
if msg is None:
|
||||||
msg = 'Unknown OpenTSDB error occurred. \n %s \n %s'
|
msg = 'Unknown OpenTSDB error occurred. \n %s \n %s'
|
||||||
|
self.msg = msg
|
||||||
super(OpenTSDBError, self).__init__(msg)
|
super(OpenTSDBError, self).__init__(msg)
|
||||||
|
|
||||||
|
|
||||||
|
@ -107,7 +107,7 @@ class RESTOpenTSDBClient(base.BaseOpenTSDBClient):
|
|||||||
except Exception:
|
except Exception:
|
||||||
raise opentsdbclient.OpenTSDBError(resp.text)
|
raise opentsdbclient.OpenTSDBError(resp.text)
|
||||||
|
|
||||||
if 'errors' in res:
|
if 'error' in res:
|
||||||
raise opentsdbclient.OpenTSDBError(res['error'])
|
raise opentsdbclient.OpenTSDBError(res['error'])
|
||||||
|
|
||||||
return res
|
return res
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
|
import copy
|
||||||
import itertools
|
import itertools
|
||||||
import logging
|
import logging
|
||||||
import random
|
import random
|
||||||
@ -198,11 +199,13 @@ class SocketOpenTSDBClient(base.BaseOpenTSDBClient):
|
|||||||
'has been collected' % self.max_uncaught_exceptions)
|
'has been collected' % self.max_uncaught_exceptions)
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def compose_line_from_meter(self, meter_dict):
|
def compose_line_from_meter(self, m_dict):
|
||||||
|
meter_dict = copy.deepcopy(m_dict)
|
||||||
tags = meter_dict.pop('tags')
|
tags = meter_dict.pop('tags')
|
||||||
tags = ''.join(' %s=%s' % (k, v) for k, v in six.iteritems(tags))
|
tags_str = ''.join(' %s=%s' % (k, v) for k, v in six.iteritems(tags))
|
||||||
line = '%(metric)s %(timestamp)d %(value)s' % meter_dict
|
line = '%(metric)s %(timestamp)d %(value)s' % meter_dict
|
||||||
return '%(metric)s%(tags)s' % {'metric': line, 'tags': tags}
|
meter_dict['tags'] = tags
|
||||||
|
return '%(metric)s%(tags)s' % {'metric': line, 'tags': tags_str}
|
||||||
|
|
||||||
def send_data(self):
|
def send_data(self):
|
||||||
req = ''.join("put %s\n" % self.compose_line_from_meter(meter_dict)
|
req = ''.join("put %s\n" % self.compose_line_from_meter(meter_dict)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user