Add start and stop date options to subunit2sql-graph
This commit adds an optional start and stop date option to the subunit2sql-graph command. It lets users filter the output graph to only use the data in the provided range. Change-Id: I550852c3ba2e8e396c382b82ea56ed175785515c
This commit is contained in:
parent
38fc62d2c2
commit
2ad66e54d0
@ -19,6 +19,7 @@ import sys
|
|||||||
from oslo.config import cfg
|
from oslo.config import cfg
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
|
|
||||||
|
from subunit2sql.analysis import utils
|
||||||
from subunit2sql.db import api
|
from subunit2sql.db import api
|
||||||
from subunit2sql import shell
|
from subunit2sql import shell
|
||||||
|
|
||||||
@ -32,7 +33,13 @@ SHELL_OPTS = [
|
|||||||
'full test_id will be used'),
|
'full test_id will be used'),
|
||||||
cfg.StrOpt('output', short='o', required=True,
|
cfg.StrOpt('output', short='o', required=True,
|
||||||
help='Output path to write image file to. The file extension '
|
help='Output path to write image file to. The file extension '
|
||||||
'will determine the file format.')
|
'will determine the file format.'),
|
||||||
|
cfg.StrOpt('start-date', short='d',
|
||||||
|
help='Start date for the graph only data from after this date '
|
||||||
|
'will be used. Uses ISO8601 format: 1914-06-28'),
|
||||||
|
cfg.StrOpt('stop-date', short='s',
|
||||||
|
help='Stop date for the graph only data from before this date '
|
||||||
|
'will be used. Uses ISO8601 format: 1914-06-28'),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
@ -53,6 +60,7 @@ def generate_series(test_id):
|
|||||||
test = api.get_test_by_id(test_id, session)
|
test = api.get_test_by_id(test_id, session)
|
||||||
session.close()
|
session.close()
|
||||||
ts = pd.Series(run_times)
|
ts = pd.Series(run_times)
|
||||||
|
ts = utils.filter_dates(ts)
|
||||||
if not CONF.title:
|
if not CONF.title:
|
||||||
plot = ts.plot().set_title(test.test_id)
|
plot = ts.plot().set_title(test.test_id)
|
||||||
else:
|
else:
|
||||||
|
34
subunit2sql/analysis/utils.py
Normal file
34
subunit2sql/analysis/utils.py
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
# Copyright 2015 Hewlett-Packard Development Company, L.P.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
|
||||||
|
import datetime
|
||||||
|
|
||||||
|
from oslo_config import cfg
|
||||||
|
|
||||||
|
CONF = cfg.CONF
|
||||||
|
|
||||||
|
|
||||||
|
def filter_dates(ts):
|
||||||
|
if CONF.start_date:
|
||||||
|
start_date = datetime.datetime.strptime(CONF.start_date, '%Y-%m-%d')
|
||||||
|
if CONF.stop_date:
|
||||||
|
stop_date = datetime.datetime.strptime(CONF.stop_date, '%Y-%m-%d')
|
||||||
|
ts = ts.ix[start_date:stop_date]
|
||||||
|
else:
|
||||||
|
ts = ts.ix[start_date:]
|
||||||
|
|
||||||
|
elif CONF.stop_date:
|
||||||
|
stop_date = datetime.datetime.strptime(CONF.stop_date, '%Y-%m-%d')
|
||||||
|
ts = ts.ix[:stop_date]
|
||||||
|
return ts
|
Loading…
x
Reference in New Issue
Block a user