
The parameter "cumulative" was interpreted as a list and could not be recognized as a valid Type for SQL query hence failing to record the data for the pollster. The presence of ',' operator in the pollster class after the term CUMULATIVE caused it to be treated as a list This is corrected to interpret the field as a string which will be successfully recorded to the meter database. Change-Id: I10a69134a7f0c42a3e6c0d9bb7568e8d8fd2a932 Closes-Bug: 1378742
51 lines
1.7 KiB
Python
51 lines
1.7 KiB
Python
# 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.
|
|
|
|
from ceilometer.hardware import plugin
|
|
from ceilometer.hardware.pollsters import util
|
|
from ceilometer import sample
|
|
|
|
|
|
class _Base(plugin.HardwarePollster):
|
|
|
|
CACHE_KEY = 'system'
|
|
|
|
|
|
class _SystemBase(_Base):
|
|
def generate_one_sample(self, host, c_data):
|
|
value, metadata, extra = c_data
|
|
return util.make_sample_from_host(host,
|
|
name=self.IDENTIFIER,
|
|
sample_type=self.TYPE,
|
|
unit=self.UNIT,
|
|
volume=value,
|
|
res_metadata=metadata,
|
|
extra=extra)
|
|
|
|
|
|
class SystemCpuIdlePollster(_SystemBase):
|
|
IDENTIFIER = 'system_stats.cpu.idle'
|
|
TYPE = sample.TYPE_GAUGE
|
|
UNIT = '%'
|
|
|
|
|
|
class SystemIORawSentPollster(_SystemBase):
|
|
IDENTIFIER = 'system_stats.io.outgoing.blocks'
|
|
TYPE = sample.TYPE_CUMULATIVE
|
|
UNIT = 'blocks'
|
|
|
|
|
|
class SystemIORawReceivedPollster(_SystemBase):
|
|
IDENTIFIER = 'system_stats.io.incoming.blocks'
|
|
TYPE = sample.TYPE_CUMULATIVE
|
|
UNIT = 'blocks'
|