-
Notifications
You must be signed in to change notification settings - Fork 1
Overall architecture

All the event in the system are related to an parent entity that generates the measures. Each entity will be of one entity type:
- VM
- Network elements
- Container
- Tag
An event is a preprocessed accumulator for data, coming from different sources, including C&U and inventories. Events consists are related to the following:
- Entities. All events are created through processing of informatoin of a parent entity
- Measures. Polymorphic?. Events consists on different meassures for the same entity. Each measure is of a unique measure type
- Start_time. The time when the entity was created/discovered
- End_time. The time when the entity was destroyed/not seen any more
The processed value of the information discovered in the event. Each measure will be of one measure type.
An indication of the type of measure.
It is related to an entity type and subtype:
- VM - CPU. Measure type: Max CPU. Calculation: Duration
- VM - CPU. Measure type: Mean Mhz. Calculation: Duration
- VM - Storage. Measure type: IOPS accumulated. Calculation: Duration
It is possible to define different calculations for the same event type, all of them will be used for rating
Calculation:
- Occurrence. The cost is calculated based on a boolean: is either present or not
- Duration. The cost is calculated based on the duration of the event (start_time - end_time)
- Quantity. The cost is calculated based on the value of an accumulator
Buckets accumulates events. It associates a charge to the event Buckets can be:
- Open: it is possible to add new events to the bucket and charge it
- Processing: it in not possible to add events to the bucket but it is possible to charge them
- Closed: it is not possible to add new events or charge them
There can be many buckets in the system One entity can have many buckets One event can belong to many buckets
A charge associates fixed costs and variable costs to an event in a bucket