diff --git a/ceilometer/polling/dynamic_pollster.py b/ceilometer/polling/dynamic_pollster.py index df2d754a09..53c30e4294 100644 --- a/ceilometer/polling/dynamic_pollster.py +++ b/ceilometer/polling/dynamic_pollster.py @@ -21,13 +21,13 @@ import copy import re from oslo_log import log -from oslo_utils import timeutils from requests import RequestException from ceilometer import declarative from ceilometer.polling import plugin_base from ceilometer import sample as ceilometer_sample +from ceilometer import utils as ceilometer_utils from functools import reduce import operator @@ -123,7 +123,7 @@ class PollsterSampleExtractor(object): self.generate_new_metadata_fields( metadata=metadata, pollster_definitions=pollster_definitions) return ceilometer_sample.Sample( - timestamp=timeutils.isotime(), + timestamp=ceilometer_utils.isotime(), name=pollster_definitions['name'], type=pollster_definitions['sample_type'], unit=pollster_definitions['unit'], diff --git a/ceilometer/utils.py b/ceilometer/utils.py index b93f02a4f8..a86ebeee0b 100644 --- a/ceilometer/utils.py +++ b/ceilometer/utils.py @@ -21,6 +21,7 @@ import threading from oslo_config import cfg +from oslo_utils import timeutils ROOTWRAP_CONF = "/etc/ceilometer/rootwrap.conf" @@ -47,3 +48,16 @@ def spawn_thread(target, *args, **kwargs): t.daemon = True t.start() return t + + +def isotime(at=None): + """Current time as ISO string, + + :returns: Current time in ISO format + """ + if not at: + at = timeutils.utcnow() + date_string = at.strftime("%Y-%m-%dT%H:%M:%S") + tz = at.tzinfo.tzname(None) if at.tzinfo else 'UTC' + date_string += ('Z' if tz == 'UTC' else tz) + return date_string