The panko.storage.impl_sqlalchemy Module

The panko.storage.impl_sqlalchemy Module

SQLAlchemy storage backend.

class panko.storage.impl_sqlalchemy.Connection(url, conf)[source]

Bases: panko.storage.base.Connection

Put the event data into a SQLAlchemy database.

Tables:

- EventType
  - event definition
  - { id: event type id
      desc: description of event
      }
- Event
  - event data
  - { id: event id
      message_id: message id
      generated = timestamp of event
      event_type_id = event type -> eventtype.id
      }
- TraitInt
  - int trait value
  - { event_id: event -> event.id
      key: trait name
      value: integer value
      }
- TraitDatetime
  - datetime trait value
  - { event_id: event -> event.id
      key: trait name
      value: datetime value
      }
- TraitText
  - text trait value
  - { event_id: event -> event.id
      key: trait name
      value: text value
      }
- TraitFloat
  - float trait value
  - { event_id: event -> event.id
      key: trait name
      value: float value
      }
clear()[source]

Clear database.

clear_expired_data(ttl)[source]

Clear expired data from the backend storage system.

Clearing occurs according to the time-to-live.

Parameters:ttl – Number of seconds to keep records for.
static dress_url(url)[source]
get_event_types()[source]

Return all event types as an iterable of strings.

get_events(event_filter, pagination=None)[source]

Return an iterable of model.Event objects.

Parameters:
  • event_filter – EventFilter instance
  • pagination – Pagination parameters.
get_trait_types(event_type)[source]

Return a dictionary containing the name and data type of the trait.

Only trait types for the provided event_type are returned. :param event_type: the type of the Event

get_traits(event_type, trait_type=None)[source]

Return all trait instances associated with an event_type.

If trait_type is specified, only return instances of that trait type. :param event_type: the type of the Event to filter by :param trait_type: the name of the Trait to filter by

record_events(event_models)[source]

Write the events to SQL database via sqlalchemy.

Parameters:event_models – a list of model.Event objects.
upgrade()[source]

Migrate the database to version or the most recent version.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.