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_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]
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.