Base classes for storage engines
-
class ceilometer.storage.base.Connection(conf)[source]
Bases: object
Base class for storage system connections.
-
clear()[source]
Clear database.
-
get_event_interval(event_filter)[source]
Return the min and max timestamps from samples,
using the event_filter to limit the samples seen.
( datetime.datetime(), datetime.datetime() )
-
get_meter_statistics(event_filter, period=None)[source]
Return a dictionary containing meter statistics.
described by the query parameters.
The filter must have a meter value set.
- { ‘min’:
- ‘max’:
‘avg’:
‘sum’:
‘count’:
‘period’:
‘period_start’:
‘period_end’:
‘duration’:
‘duration_start’:
‘duration_end’:
}
-
get_meters(user=None, project=None, resource=None, source=None, metaquery={})[source]
Return an iterable of dictionaries containing meter information.
- { ‘name’: name of the meter,
- ‘type’: type of the meter (guage, counter),
‘unit’: unit of the meter,
‘resource_id’: UUID of the resource,
‘project_id’: UUID of project owning the resource,
‘user_id’: UUID of user owning the resource,
}
Parameters: |
- user – Optional ID for user that owns the resource.
- project – Optional ID for project that owns the resource.
- resource – Optional resource filter.
- source – Optional source filter.
- metaquery – Optional dict with metadata to match on.
|
-
get_projects(source=None)[source]
Return an iterable of project id strings.
Parameters: | source – Optional source filter. |
-
get_resources(user=None, project=None, source=None, start_timestamp=None, end_timestamp=None, metaquery={}, resource=None)[source]
Return an iterable of dictionaries containing resource information.
- { ‘resource_id’: UUID of the resource,
- ‘project_id’: UUID of project owning the resource,
‘user_id’: UUID of user owning the resource,
‘timestamp’: UTC datetime of last update to the resource,
‘metadata’: most current metadata for the resource,
‘meter’: list of the meters reporting data for the resource,
}
Parameters: |
- user – Optional ID for user that owns the resource.
- project – Optional ID for project that owns the resource.
- source – Optional source filter.
- start_timestamp – Optional modified timestamp start range.
- end_timestamp – Optional modified timestamp end range.
- metaquery – Optional dict with metadata to match on.
- resource – Optional resource filter.
|
-
get_samples(event_filter)[source]
Return an iterable of samples as created by
ceilometer.meter.meter_message_from_counter().
-
get_users(source=None)[source]
Return an iterable of user id strings.
Parameters: | source – Optional source filter. |
-
get_volume_max(event_filter)[source]
Return the maximum of the volume field for the samples
described by the query parameters.
The filter must have a meter value set.
- { ‘resource_id’: UUID string for the resource,
- ‘value’: The max for the volume.
}
-
get_volume_sum(event_filter)[source]
Return the sum of the volume field for the samples
described by the query parameters.
The filter must have a meter value set.
- { ‘resource_id’: UUID string for the resource,
- ‘value’: The sum for the volume.
}
-
record_metering_data(data)[source]
Write the data to the backend storage system.
Parameters: | data – a dictionary such as returned by
ceilometer.meter.meter_message_from_counter |
All timestamps must be naive utc datetime object.
-
upgrade(version=None)[source]
Migrate the database to version or the most recent version.
-
class ceilometer.storage.base.StorageEngine[source]
Bases: object
Base class for storage engines.
-
get_connection(conf)[source]
Return a Connection instance based on the configuration settings.
-
register_opts(conf)[source]
Register any configuration options used by this engine.