Convert event metadata timestamps to ISO 8601 format for ES
Change-Id: Ifdb74ae6c9b6ffaed164ed7e338f60165df0a15e
This commit is contained in:
parent
4ffa31b4ad
commit
d9be39758e
|
@ -84,10 +84,31 @@ class Connection(base.Connection):
|
|||
iclient.put_template(name='enable_timestamp', body=ts_template)
|
||||
|
||||
def record_events(self, events):
|
||||
|
||||
datetime_trait_fields = [
|
||||
'audit_period_beginning',
|
||||
'audit_period_ending',
|
||||
'deleted_at',
|
||||
'created_at',
|
||||
'launched_at',
|
||||
'modify_at'
|
||||
]
|
||||
def _build_bulk_index(event_list):
|
||||
for ev in event_list:
|
||||
traits = {t.name: t.value for t in ev.traits}
|
||||
traits = {}
|
||||
for t in ev.traits:
|
||||
name = t.name
|
||||
value = t.value
|
||||
if name in datetime_trait_fields:
|
||||
try:
|
||||
ts = timeutils.parse_isotime(value)
|
||||
ts = timeutils.normalize_time(ts)
|
||||
value = timeutils.strtime(ts)
|
||||
except ValueError:
|
||||
LOG.exception(
|
||||
_LE('Could not parse timestamp [%s] from [%s] traits field' % (value, name))
|
||||
)
|
||||
value = t.value
|
||||
traits[name] = value
|
||||
yield {'_op_type': 'create',
|
||||
'_index': '%s_%s' % (self.index_name,
|
||||
ev.generated.date().isoformat()),
|
||||
|
|
Loading…
Reference in New Issue