Replace deprecated datetime.utcnow()
The datetime.utcnow() is deprecated in Python 3.12. Replace datetime.utcnow() with oslo_utils.timeutils.utcnow(). This bumps oslo.utils to 7.0.0. Change-Id: I472068637f34af072662bf6d97fe370661df814e Signed-off-by: Takashi Natsume <takanattie@gmail.com>
This commit is contained in:
parent
183a63b725
commit
51d358436f
@ -19,6 +19,7 @@ from oslo_config import cfg
|
|||||||
from oslo_log import log as logging
|
from oslo_log import log as logging
|
||||||
from oslo_service import periodic_task
|
from oslo_service import periodic_task
|
||||||
from oslo_service import threadgroup
|
from oslo_service import threadgroup
|
||||||
|
from oslo_utils import timeutils
|
||||||
|
|
||||||
from mistral import context as auth_ctx
|
from mistral import context as auth_ctx
|
||||||
from mistral.db.v2 import api as db_api
|
from mistral.db.v2 import api as db_api
|
||||||
@ -118,8 +119,7 @@ def run_execution_expiration_policy(self, ctx):
|
|||||||
LOG.debug("Starting expiration policy.")
|
LOG.debug("Starting expiration policy.")
|
||||||
|
|
||||||
older_than = CONF.execution_expiration_policy.older_than
|
older_than = CONF.execution_expiration_policy.older_than
|
||||||
exp_time = (datetime.datetime.utcnow()
|
exp_time = timeutils.utcnow() - datetime.timedelta(minutes=older_than)
|
||||||
- datetime.timedelta(minutes=older_than))
|
|
||||||
|
|
||||||
batch_size = CONF.execution_expiration_policy.batch_size
|
batch_size = CONF.execution_expiration_policy.batch_size
|
||||||
max_executions = CONF.execution_expiration_policy.max_finished_executions
|
max_executions = CONF.execution_expiration_policy.max_finished_executions
|
||||||
|
@ -12,13 +12,13 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
import datetime
|
|
||||||
import json
|
import json
|
||||||
|
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
from oslo_log import log as logging
|
from oslo_log import log as logging
|
||||||
from oslo_service import periodic_task
|
from oslo_service import periodic_task
|
||||||
from oslo_service import threadgroup
|
from oslo_service import threadgroup
|
||||||
|
from oslo_utils import timeutils
|
||||||
|
|
||||||
from mistral import context as auth_ctx
|
from mistral import context as auth_ctx
|
||||||
from mistral.db.v2 import api as db_api_v2
|
from mistral.db.v2 import api as db_api_v2
|
||||||
@ -125,7 +125,7 @@ def advance_cron_trigger(t):
|
|||||||
# we use the max of the current time or the next scheduled time.
|
# we use the max of the current time or the next scheduled time.
|
||||||
next_time = triggers.get_next_execution_time(
|
next_time = triggers.get_next_execution_time(
|
||||||
t.pattern,
|
t.pattern,
|
||||||
max(datetime.datetime.utcnow(), t.next_execution_time)
|
max(timeutils.utcnow(), t.next_execution_time)
|
||||||
)
|
)
|
||||||
|
|
||||||
# Update the cron trigger with next execution details
|
# Update the cron trigger with next execution details
|
||||||
|
@ -17,6 +17,7 @@ import datetime
|
|||||||
import json
|
import json
|
||||||
|
|
||||||
from oslo_log import log as logging
|
from oslo_log import log as logging
|
||||||
|
from oslo_utils import timeutils
|
||||||
|
|
||||||
from mistral.db.v2 import api as db_api
|
from mistral.db.v2 import api as db_api
|
||||||
from mistral.engine import utils as eng_utils
|
from mistral.engine import utils as eng_utils
|
||||||
@ -39,8 +40,7 @@ def get_next_execution_time(pattern, start_time):
|
|||||||
|
|
||||||
def get_next_cron_triggers():
|
def get_next_cron_triggers():
|
||||||
return db_api.get_next_cron_triggers(
|
return db_api.get_next_cron_triggers(
|
||||||
datetime.datetime.utcnow() + datetime.timedelta(0, 2)
|
timeutils.utcnow() + datetime.timedelta(0, 2))
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def validate_cron_trigger_input(pattern, first_time, count):
|
def validate_cron_trigger_input(pattern, first_time, count):
|
||||||
@ -50,7 +50,7 @@ def validate_cron_trigger_input(pattern, first_time, count):
|
|||||||
)
|
)
|
||||||
|
|
||||||
if first_time:
|
if first_time:
|
||||||
valid_min_time = datetime.datetime.utcnow() + datetime.timedelta(0, 60)
|
valid_min_time = timeutils.utcnow() + datetime.timedelta(0, 60)
|
||||||
|
|
||||||
if valid_min_time > first_time:
|
if valid_min_time > first_time:
|
||||||
raise exc.InvalidModelException(
|
raise exc.InvalidModelException(
|
||||||
@ -74,7 +74,7 @@ def create_cron_trigger(name, workflow_name, workflow_input,
|
|||||||
workflow_params=None, pattern=None, first_time=None,
|
workflow_params=None, pattern=None, first_time=None,
|
||||||
count=None, start_time=None, workflow_id=None):
|
count=None, start_time=None, workflow_id=None):
|
||||||
if not start_time:
|
if not start_time:
|
||||||
start_time = datetime.datetime.utcnow()
|
start_time = timeutils.utcnow()
|
||||||
|
|
||||||
if isinstance(first_time, str):
|
if isinstance(first_time, str):
|
||||||
try:
|
try:
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
from oslo_utils import timeutils
|
from oslo_utils import timeutils
|
||||||
from oslo_utils import uuidutils
|
from oslo_utils import uuidutils
|
||||||
import pecan
|
import pecan
|
||||||
@ -36,7 +37,7 @@ PKI_TOKEN_VERIFIED = {
|
|||||||
'roles': [{'id': uuidutils.generate_uuid(dashed=False),
|
'roles': [{'id': uuidutils.generate_uuid(dashed=False),
|
||||||
'name': 'admin'}],
|
'name': 'admin'}],
|
||||||
'expires_at': datetime.datetime.isoformat(
|
'expires_at': datetime.datetime.isoformat(
|
||||||
datetime.datetime.utcnow() + datetime.timedelta(seconds=60)
|
timeutils.utcnow() + datetime.timedelta(seconds=60)
|
||||||
),
|
),
|
||||||
'project': {
|
'project': {
|
||||||
'domain': {'id': 'default', 'name': 'Default'},
|
'domain': {'id': 'default', 'name': 'Default'},
|
||||||
|
@ -17,6 +17,8 @@ import datetime
|
|||||||
import json
|
import json
|
||||||
from unittest import mock
|
from unittest import mock
|
||||||
|
|
||||||
|
from oslo_utils import timeutils
|
||||||
|
from oslo_utils import uuidutils
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
|
||||||
from mistral.api.controllers.v2 import resources
|
from mistral.api.controllers.v2 import resources
|
||||||
@ -24,7 +26,6 @@ from mistral.db.v2 import api as db_api
|
|||||||
from mistral.db.v2.sqlalchemy import models as db
|
from mistral.db.v2.sqlalchemy import models as db
|
||||||
from mistral import exceptions as exc
|
from mistral import exceptions as exc
|
||||||
from mistral.tests.unit.api import base
|
from mistral.tests.unit.api import base
|
||||||
from oslo_utils import uuidutils
|
|
||||||
|
|
||||||
DATETIME_FORMAT = '%Y-%m-%d %H:%M:%S.%f'
|
DATETIME_FORMAT = '%Y-%m-%d %H:%M:%S.%f'
|
||||||
|
|
||||||
@ -67,8 +68,8 @@ ENVIRONMENT = {
|
|||||||
'variables': VARIABLES,
|
'variables': VARIABLES,
|
||||||
'scope': 'private',
|
'scope': 'private',
|
||||||
'project_id': '<default-project>',
|
'project_id': '<default-project>',
|
||||||
'created_at': str(datetime.datetime.utcnow()),
|
'created_at': str(timeutils.utcnow()),
|
||||||
'updated_at': str(datetime.datetime.utcnow())
|
'updated_at': str(timeutils.utcnow())
|
||||||
}
|
}
|
||||||
|
|
||||||
ENVIRONMENT_WITH_ILLEGAL_FIELD = {
|
ENVIRONMENT_WITH_ILLEGAL_FIELD = {
|
||||||
|
@ -15,6 +15,7 @@ import datetime
|
|||||||
from unittest import mock
|
from unittest import mock
|
||||||
|
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
|
from oslo_utils import timeutils
|
||||||
|
|
||||||
from mistral import context as auth_ctx
|
from mistral import context as auth_ctx
|
||||||
from mistral.db.v2 import api as db_api
|
from mistral.db.v2 import api as db_api
|
||||||
@ -123,7 +124,7 @@ class ProcessCronTriggerTest(base.EngineTestCase):
|
|||||||
|
|
||||||
next_trigger = next_triggers[0]
|
next_trigger = next_triggers[0]
|
||||||
next_execution_time_before = next_trigger.next_execution_time
|
next_execution_time_before = next_trigger.next_execution_time
|
||||||
ts_before = datetime.datetime.utcnow()
|
ts_before = timeutils.utcnow()
|
||||||
|
|
||||||
periodic.process_cron_triggers_v2(None, None)
|
periodic.process_cron_triggers_v2(None, None)
|
||||||
self._await(
|
self._await(
|
||||||
@ -157,7 +158,7 @@ class ProcessCronTriggerTest(base.EngineTestCase):
|
|||||||
|
|
||||||
# Make the first_time 1 sec later than current time, in order to make
|
# Make the first_time 1 sec later than current time, in order to make
|
||||||
# it executed by next cron-trigger task.
|
# it executed by next cron-trigger task.
|
||||||
first_time = datetime.datetime.utcnow() + datetime.timedelta(0, 1)
|
first_time = timeutils.utcnow() + datetime.timedelta(0, 1)
|
||||||
|
|
||||||
# Creates a cron-trigger with pattern and first time, ensure the
|
# Creates a cron-trigger with pattern and first time, ensure the
|
||||||
# cron-trigger can be executed more than once, and cron-trigger will
|
# cron-trigger can be executed more than once, and cron-trigger will
|
||||||
@ -200,7 +201,7 @@ class ProcessCronTriggerTest(base.EngineTestCase):
|
|||||||
def test_validate_cron_trigger_input_first_time(self):
|
def test_validate_cron_trigger_input_first_time(self):
|
||||||
cfg.CONF.set_default('auth_enable', False, group='pecan')
|
cfg.CONF.set_default('auth_enable', False, group='pecan')
|
||||||
|
|
||||||
first_time = datetime.datetime.utcnow() + datetime.timedelta(0, 1)
|
first_time = timeutils.utcnow() + datetime.timedelta(0, 1)
|
||||||
|
|
||||||
self.assertRaises(
|
self.assertRaises(
|
||||||
exc.InvalidModelException,
|
exc.InvalidModelException,
|
||||||
|
@ -18,6 +18,7 @@ from unittest import mock
|
|||||||
|
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
from oslo_messaging.rpc import client as rpc_client
|
from oslo_messaging.rpc import client as rpc_client
|
||||||
|
from oslo_utils import timeutils
|
||||||
from oslo_utils import uuidutils
|
from oslo_utils import uuidutils
|
||||||
|
|
||||||
from mistral.db.v2 import api as db_api
|
from mistral.db.v2 import api as db_api
|
||||||
@ -74,8 +75,8 @@ ENVIRONMENT = {
|
|||||||
'key2': 123
|
'key2': 123
|
||||||
},
|
},
|
||||||
'scope': 'private',
|
'scope': 'private',
|
||||||
'created_at': str(datetime.datetime.utcnow()),
|
'created_at': str(timeutils.utcnow()),
|
||||||
'updated_at': str(datetime.datetime.utcnow())
|
'updated_at': str(timeutils.utcnow())
|
||||||
}
|
}
|
||||||
|
|
||||||
ENVIRONMENT_DB = models.Environment(
|
ENVIRONMENT_DB = models.Environment(
|
||||||
|
@ -12,10 +12,10 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
import datetime as dt
|
|
||||||
from unittest import mock
|
from unittest import mock
|
||||||
|
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
|
from oslo_utils import timeutils
|
||||||
import requests
|
import requests
|
||||||
|
|
||||||
from mistral.db.v2 import api as db_api
|
from mistral.db.v2 import api as db_api
|
||||||
@ -186,7 +186,7 @@ class TaskDefaultsReverseWorkflowEngineTest(base.EngineTestCase):
|
|||||||
|
|
||||||
wf_service.create_workflows(wf_text)
|
wf_service.create_workflows(wf_text)
|
||||||
|
|
||||||
time_before = dt.datetime.utcnow()
|
time_before = timeutils.utcnow()
|
||||||
|
|
||||||
# Start workflow.
|
# Start workflow.
|
||||||
wf_ex = self.engine.start_workflow('wf', task_name='task1')
|
wf_ex = self.engine.start_workflow('wf', task_name='task1')
|
||||||
@ -195,7 +195,7 @@ class TaskDefaultsReverseWorkflowEngineTest(base.EngineTestCase):
|
|||||||
|
|
||||||
# Workflow must work at least 2 seconds (1+1).
|
# Workflow must work at least 2 seconds (1+1).
|
||||||
self.assertGreater(
|
self.assertGreater(
|
||||||
(dt.datetime.utcnow() - time_before).total_seconds(),
|
(timeutils.utcnow() - time_before).total_seconds(),
|
||||||
2
|
2
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -12,14 +12,14 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
import datetime
|
||||||
|
from unittest import mock
|
||||||
|
|
||||||
from eventlet import event
|
from eventlet import event
|
||||||
from eventlet import semaphore
|
from eventlet import semaphore
|
||||||
from eventlet import timeout
|
from eventlet import timeout
|
||||||
from unittest import mock
|
|
||||||
|
|
||||||
import datetime
|
|
||||||
|
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
|
from oslo_utils import timeutils
|
||||||
|
|
||||||
from mistral.db.v2 import api as db_api
|
from mistral.db.v2 import api as db_api
|
||||||
from mistral.scheduler import base as scheduler_base
|
from mistral.scheduler import base as scheduler_base
|
||||||
@ -124,9 +124,7 @@ class DefaultSchedulerTest(base.DbTestCase):
|
|||||||
|
|
||||||
self.assertIsNotNone(captured_at)
|
self.assertIsNotNone(captured_at)
|
||||||
self.assertTrue(
|
self.assertTrue(
|
||||||
datetime.datetime.utcnow() - captured_at <
|
timeutils.utcnow() - captured_at < datetime.timedelta(seconds=3))
|
||||||
datetime.timedelta(seconds=3)
|
|
||||||
)
|
|
||||||
|
|
||||||
self._unlock_target_method()
|
self._unlock_target_method()
|
||||||
self._wait_target_method_end()
|
self._wait_target_method_end()
|
||||||
@ -144,7 +142,7 @@ class DefaultSchedulerTest(base.DbTestCase):
|
|||||||
self.override_config('pickup_job_after', 1, 'scheduler')
|
self.override_config('pickup_job_after', 1, 'scheduler')
|
||||||
|
|
||||||
# 1. Create a scheduled job in Job Store.
|
# 1. Create a scheduled job in Job Store.
|
||||||
execute_at = datetime.datetime.utcnow() + datetime.timedelta(seconds=1)
|
execute_at = timeutils.utcnow() + datetime.timedelta(seconds=1)
|
||||||
|
|
||||||
db_api.create_scheduled_job({
|
db_api.create_scheduled_job({
|
||||||
'run_after': 1,
|
'run_after': 1,
|
||||||
@ -176,17 +174,17 @@ class DefaultSchedulerTest(base.DbTestCase):
|
|||||||
# 1. Create a scheduled job in Job Store marked as captured in one
|
# 1. Create a scheduled job in Job Store marked as captured in one
|
||||||
# second in the future. It can be captured again only after 3
|
# second in the future. It can be captured again only after 3
|
||||||
# seconds after that according to the config option.
|
# seconds after that according to the config option.
|
||||||
captured_at = datetime.datetime.utcnow() + datetime.timedelta(
|
captured_at = timeutils.utcnow() + datetime.timedelta(
|
||||||
seconds=1
|
seconds=1
|
||||||
)
|
)
|
||||||
|
|
||||||
before_ts = datetime.datetime.utcnow()
|
before_ts = timeutils.utcnow()
|
||||||
|
|
||||||
db_api.create_scheduled_job({
|
db_api.create_scheduled_job({
|
||||||
'run_after': 1,
|
'run_after': 1,
|
||||||
'func_name': TARGET_METHOD_PATH,
|
'func_name': TARGET_METHOD_PATH,
|
||||||
'func_args': {'name': 'task', 'id': '321'},
|
'func_args': {'name': 'task', 'id': '321'},
|
||||||
'execute_at': datetime.datetime.utcnow(),
|
'execute_at': timeutils.utcnow(),
|
||||||
'captured_at': captured_at,
|
'captured_at': captured_at,
|
||||||
'auth_ctx': {}
|
'auth_ctx': {}
|
||||||
})
|
})
|
||||||
@ -203,6 +201,4 @@ class DefaultSchedulerTest(base.DbTestCase):
|
|||||||
|
|
||||||
# At least 3 seconds should have passed.
|
# At least 3 seconds should have passed.
|
||||||
self.assertTrue(
|
self.assertTrue(
|
||||||
datetime.datetime.utcnow() - before_ts >=
|
timeutils.utcnow() - before_ts >= datetime.timedelta(seconds=3))
|
||||||
datetime.timedelta(seconds=3)
|
|
||||||
)
|
|
||||||
|
@ -16,6 +16,9 @@
|
|||||||
|
|
||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
|
from oslo_config import cfg
|
||||||
|
from oslo_utils import timeutils
|
||||||
|
|
||||||
from mistral import context as ctx
|
from mistral import context as ctx
|
||||||
from mistral.db.v2 import api as db_api
|
from mistral.db.v2 import api as db_api
|
||||||
from mistral.services import expiration_policy
|
from mistral.services import expiration_policy
|
||||||
@ -23,7 +26,6 @@ from mistral.services.expiration_policy import ExecutionExpirationPolicy
|
|||||||
from mistral.tests.unit import base
|
from mistral.tests.unit import base
|
||||||
from mistral.tests.unit.base import get_context
|
from mistral.tests.unit.base import get_context
|
||||||
from mistral_lib import utils
|
from mistral_lib import utils
|
||||||
from oslo_config import cfg
|
|
||||||
|
|
||||||
|
|
||||||
def _create_workflow_executions():
|
def _create_workflow_executions():
|
||||||
@ -130,7 +132,7 @@ class ExpirationPolicyTest(base.DbTestCase):
|
|||||||
|
|
||||||
_create_workflow_executions()
|
_create_workflow_executions()
|
||||||
|
|
||||||
now = datetime.datetime.utcnow()
|
now = timeutils.utcnow()
|
||||||
|
|
||||||
# This execution has a parent wf and testing that we are
|
# This execution has a parent wf and testing that we are
|
||||||
# querying only for parent wfs.
|
# querying only for parent wfs.
|
||||||
@ -171,7 +173,7 @@ class ExpirationPolicyTest(base.DbTestCase):
|
|||||||
|
|
||||||
def test_expiration_policy_for_executions_with_ignored_states(self):
|
def test_expiration_policy_for_executions_with_ignored_states(self):
|
||||||
_create_workflow_executions()
|
_create_workflow_executions()
|
||||||
now = datetime.datetime.utcnow()
|
now = timeutils.utcnow()
|
||||||
|
|
||||||
_set_expiration_policy_config(
|
_set_expiration_policy_config(
|
||||||
evaluation_interval=1,
|
evaluation_interval=1,
|
||||||
@ -215,7 +217,7 @@ class ExpirationPolicyTest(base.DbTestCase):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
_create_workflow_executions()
|
_create_workflow_executions()
|
||||||
now = datetime.datetime.utcnow()
|
now = timeutils.utcnow()
|
||||||
|
|
||||||
_set_expiration_policy_config(
|
_set_expiration_policy_config(
|
||||||
evaluation_interval=1,
|
evaluation_interval=1,
|
||||||
@ -240,7 +242,7 @@ class ExpirationPolicyTest(base.DbTestCase):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
_create_workflow_executions()
|
_create_workflow_executions()
|
||||||
now = datetime.datetime.utcnow()
|
now = timeutils.utcnow()
|
||||||
|
|
||||||
_set_expiration_policy_config(
|
_set_expiration_policy_config(
|
||||||
evaluation_interval=1,
|
evaluation_interval=1,
|
||||||
|
@ -20,6 +20,7 @@ from unittest import mock
|
|||||||
from eventlet import queue
|
from eventlet import queue
|
||||||
from eventlet import timeout
|
from eventlet import timeout
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
|
from oslo_utils import timeutils
|
||||||
|
|
||||||
from mistral import context as auth_context
|
from mistral import context as auth_context
|
||||||
from mistral.db.v2 import api as db_api
|
from mistral.db.v2 import api as db_api
|
||||||
@ -39,7 +40,7 @@ DELAY = 1.5
|
|||||||
|
|
||||||
|
|
||||||
def get_time_delay(delay=DELAY * 2):
|
def get_time_delay(delay=DELAY * 2):
|
||||||
return datetime.datetime.utcnow() + datetime.timedelta(seconds=delay)
|
return timeutils.utcnow() + datetime.timedelta(seconds=delay)
|
||||||
|
|
||||||
|
|
||||||
def target_method():
|
def target_method():
|
||||||
|
@ -17,6 +17,7 @@ import eventlet
|
|||||||
from unittest import mock
|
from unittest import mock
|
||||||
|
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
|
from oslo_utils import timeutils
|
||||||
|
|
||||||
from mistral import exceptions as exc
|
from mistral import exceptions as exc
|
||||||
from mistral.rpc import clients as rpc
|
from mistral.rpc import clients as rpc
|
||||||
@ -296,7 +297,7 @@ class TriggerServiceV2Test(base.DbTestCase):
|
|||||||
self.wf.name,
|
self.wf.name,
|
||||||
{},
|
{},
|
||||||
pattern='*/3 * * * *',
|
pattern='*/3 * * * *',
|
||||||
start_time=datetime.datetime.utcnow() + datetime.timedelta(0, 50)
|
start_time=timeutils.utcnow() + datetime.timedelta(0, 50)
|
||||||
)
|
)
|
||||||
|
|
||||||
trigger_names = [t.name for t in t_s.get_next_cron_triggers()]
|
trigger_names = [t.name for t in t_s.get_next_cron_triggers()]
|
||||||
|
@ -18,6 +18,7 @@ import json
|
|||||||
|
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
from oslo_log import log as logging
|
from oslo_log import log as logging
|
||||||
|
from oslo_utils import timeutils
|
||||||
import osprofiler.profiler
|
import osprofiler.profiler
|
||||||
import osprofiler.web
|
import osprofiler.web
|
||||||
|
|
||||||
@ -39,17 +40,14 @@ def log_to_file(info, context=None):
|
|||||||
th_local_name = '_profiler_trace_%s_start_time_' % info['trace_id']
|
th_local_name = '_profiler_trace_%s_start_time_' % info['trace_id']
|
||||||
|
|
||||||
if info['name'].endswith('-start'):
|
if info['name'].endswith('-start'):
|
||||||
utils.set_thread_local(
|
utils.set_thread_local(th_local_name, timeutils.utcnow())
|
||||||
th_local_name,
|
|
||||||
datetime.datetime.utcnow()
|
|
||||||
)
|
|
||||||
|
|
||||||
# Insert a blank sequence for a trace start.
|
# Insert a blank sequence for a trace start.
|
||||||
attrs.insert(1, ' ' * 8)
|
attrs.insert(1, ' ' * 8)
|
||||||
|
|
||||||
if info['name'].endswith('-stop'):
|
if info['name'].endswith('-stop'):
|
||||||
delta = (
|
delta = (
|
||||||
datetime.datetime.utcnow() - utils.get_thread_local(th_local_name)
|
timeutils.utcnow() - utils.get_thread_local(th_local_name)
|
||||||
).total_seconds()
|
).total_seconds()
|
||||||
|
|
||||||
utils.set_thread_local(th_local_name, None)
|
utils.set_thread_local(th_local_name, None)
|
||||||
|
@ -17,7 +17,7 @@ oslo.i18n>=3.15.3 # Apache-2.0
|
|||||||
oslo.messaging>=14.1.0 # Apache-2.0
|
oslo.messaging>=14.1.0 # Apache-2.0
|
||||||
oslo.middleware>=3.31.0 # Apache-2.0
|
oslo.middleware>=3.31.0 # Apache-2.0
|
||||||
oslo.policy>=3.6.0 # Apache-2.0
|
oslo.policy>=3.6.0 # Apache-2.0
|
||||||
oslo.utils>=4.0.0 # Apache-2.0
|
oslo.utils>=7.0.0 # Apache-2.0
|
||||||
oslo.log>=3.36.0 # Apache-2.0
|
oslo.log>=3.36.0 # Apache-2.0
|
||||||
oslo.serialization>=2.21.1 # Apache-2.0
|
oslo.serialization>=2.21.1 # Apache-2.0
|
||||||
oslo.service>=2.1.0 # Apache-2.0
|
oslo.service>=2.1.0 # Apache-2.0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user