blob: 87fab70cb3f903091727154b2f07a622862184ee [file] [log] [blame]
import os
import time
import sys
import traceback
import json
from core.models import Diag
from xos.config import Config, XOS_DIR
from xos.logger import Logger, logging, logger
logger = Logger(level=logging.INFO)
def update_diag(loop_end=None, loop_start=None, syncrecord_start=None, sync_start=None, backend_status=None):
try:
observer_name = Config().observer_name
except:
observer_name = 'openstack'
try:
diag = Diag.objects.filter(name=observer_name).first()
if (not diag):
diag = Diag(name=observer_name)
br_str = diag.backend_register
br = json.loads(br_str)
if loop_end:
br['last_run'] = loop_end
if loop_end and loop_start:
br['last_duration'] = loop_end - loop_start
if syncrecord_start:
br['last_syncrecord_start'] = syncrecord_start
if sync_start:
br['last_synchronizer_start'] = sync_start
if backend_status:
diag.backend_status = backend_status
diag.backend_register = json.dumps(br)
diag.save()
except:
logger.log_exc("Exception in update_diag")
traceback.print_exc()