X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=yardstick%2Fdispatcher%2Ffile.py;h=ab67796e99af27795bd2a7acacb37ae4ea9edaf4;hb=refs%2Fchanges%2F47%2F22547%2F1;hp=dc39f152e836d845123cdafa6e76a6dd4dcb3ffe;hpb=735af0fc05d73cbc7bd97b52a230d966cbfec6c3;p=yardstick.git diff --git a/yardstick/dispatcher/file.py b/yardstick/dispatcher/file.py index dc39f152e..ab67796e9 100644 --- a/yardstick/dispatcher/file.py +++ b/yardstick/dispatcher/file.py @@ -1,17 +1,43 @@ -############################################################################## -# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# Copyright 2013 IBM Corp +# All Rights Reserved. # -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 -############################################################################## +# 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. + +# yardstick comment: this is a modified copy of +# ceilometer/ceilometer/dispatcher/file.py import logging import json +from oslo_config import cfg + from yardstick.dispatcher.base import Base as DispatchBase +CONF = cfg.CONF +OPTS = [ + cfg.StrOpt('file_path', + default='/tmp/yardstick.out', + help='Name and the location of the file to record ' + 'data.'), + cfg.IntOpt('max_bytes', + default=0, + help='The max size of the file.'), + cfg.IntOpt('backup_count', + default=0, + help='The max number of the files to keep.'), +] +CONF.register_opts(OPTS, group="dispatcher_file") + class FileDispatcher(DispatchBase): """Dispatcher class for recording data to a file. @@ -19,27 +45,19 @@ class FileDispatcher(DispatchBase): __dispatcher_type__ = "File" - # TODO: make parameters below configurable, currently just hard coded - # Path of the file to record the data - file_path = "/tmp/yardstick.out" - # The max size of the file - max_bytes = 0 - # The max number of the files to keep - backup_count = 0 - def __init__(self, conf): super(FileDispatcher, self).__init__(conf) self.log = None # if the directory and path are configured, then log to the file - if self.file_path: + if CONF.dispatcher_file.file_path: dispatcher_logger = logging.Logger('dispatcher.file') dispatcher_logger.setLevel(logging.INFO) # create rotating file handler which logs result rfh = logging.handlers.RotatingFileHandler( - self.conf.get('file_path', self.file_path), - maxBytes=self.max_bytes, - backupCount=self.backup_count, + self.conf.get('file_path', CONF.dispatcher_file.file_path), + maxBytes=CONF.dispatcher_file.max_bytes, + backupCount=CONF.dispatcher_file.backup_count, encoding='utf8') rfh.setLevel(logging.INFO) @@ -52,3 +70,6 @@ class FileDispatcher(DispatchBase): def record_result_data(self, data): if self.log: self.log.info(json.dumps(data)) + + def flush_result_data(self): + pass