SQLAlchemy storage backend.
-
class ceilometer.storage.impl_sqlalchemy.Connection(conf, url)[source]
Bases: ceilometer.storage.base.Connection
Put the data into a SQLAlchemy database.
Tables:
- meter
- meter definition
- { id: meter id
name: meter name
type: meter type
unit: meter unit
}
- resource
- resource definition
- { internal_id: resource id
resource_id: resource uuid
user_id: user uuid
project_id: project uuid
source_id: source id
resource_metadata: metadata dictionary
metadata_hash: metadata dictionary hash
}
- sample
- the raw incoming data
- { id: sample id
meter_id: meter id (->meter.id)
resource_id: resource id (->resource.internal_id)
volume: sample volume
timestamp: datetime
recorded_at: datetime
message_signature: message signature
message_id: message uuid
}
-
clear()[source]
-
clear_expired_metering_data(ttl)[source]
Clear expired data from the backend storage system.
Clearing occurs according to the time-to-live.
:param ttl: Number of seconds to keep records for.
-
get_meter_statistics(sample_filter, period=None, groupby=None, aggregate=None)[source]
Return an iterable of api_models.Statistics instances.
Items are containing meter statistics described by the query
parameters. The filter must have a meter value set.
-
get_meters(user=None, project=None, resource=None, source=None, metaquery=None, limit=None, unique=False)[source]
Return an iterable of api_models.Meter instances
Parameters: |
- user – Optional ID for user that owns the resource.
- project – Optional ID for project that owns the resource.
- resource – Optional ID of the resource.
- source – Optional source filter.
- metaquery – Optional dict with metadata to match on.
- limit – Maximum number of results to return.
- unique – If set to true, return only unique meter information.
|
-
get_resources(user=None, project=None, source=None, start_timestamp=None, start_timestamp_op=None, end_timestamp=None, end_timestamp_op=None, metaquery=None, resource=None, limit=None)[source]
Return an iterable of api_models.Resource instances
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.
- start_timestamp_op – Optional start time operator, like gt, ge.
- end_timestamp – Optional modified timestamp end range.
- end_timestamp_op – Optional end time operator, like lt, le.
- metaquery – Optional dict with metadata to match on.
- resource – Optional resource filter.
- limit – Maximum number of results to return.
|
-
get_samples(sample_filter, limit=None)[source]
Return an iterable of api_models.Samples.
Parameters: |
- sample_filter – Filter.
- limit – Maximum number of results to return.
|
-
query_samples(filter_expr=None, orderby=None, limit=None)[source]
-
record_metering_data(*args, **kwargs)[source]
Write the data to the backend storage system.
Parameters: | data – a dictionary such as returned by
ceilometer.publisher.utils.meter_message_from_counter |
-
upgrade()[source]