Skip to content

Latest commit

 

History

History
88 lines (75 loc) · 1.92 KB

File metadata and controls

88 lines (75 loc) · 1.92 KB
classDiagram
direction LR

class MonitorStore:::cssSchema {
    <<Schema>>
    <<abstract>>
    hosts      : [id] ➞ HostHits
    users      : [id] ➞ UserHits
    clients    : [id] ➞ ClientHits
    histories  : [id] ➞ HistoryHits
}
MonitorStore *-- "0..*" HostHits : hosts
MonitorStore *-- "0..*" UserHits : users
MonitorStore *-- "0..*" ClientHits : clients
MonitorStore *-- "0..*" HistoryHits : histories

class HostHits:::cssEntity {
    <<Entity · id>>
    id      : string
    counts  : RequestCount
}
HostHits *-- "1" RequestCount : counts

class UserHits:::cssEntity {
    <<Entity · id>>
    id       : string
    clients  : string[]
    counts?  : RequestCount[]
}
UserHits o.. "0..*" ClientHits : clients
UserHits *-- "0..*" RequestCount : counts

class ClientHits:::cssEntity {
    <<Entity · id>>
    id                  : string
    user                : string
    counts?             : RequestCount[]
    subscriptionEvents? : SubscriptionEvents
}
ClientHits o.. "1" UserHits : user
ClientHits *-- "0..*" RequestCount : counts
ClientHits *-- "0..1" SubscriptionEvents : subscriptionEvents

class HistoryHits:::cssEntity {
    <<Entity · id>>
    id          : int32
    counters    : int32[]
    lastUpdate  : int32
}

class RequestCount {
    db?       : string
    requests  : int32
    tasks     : int32
}

class SubscriptionEvents {
    seq          : int32
    queued       : int32
    queueEvents  : boolean
    connected    : boolean
    endpoint?    : string
    messageSubs? : string[]
    changeSubs?  : ChangeSubscription[]
}
SubscriptionEvents *-- "0..*" ChangeSubscription : changeSubs

class ChangeSubscription {
    container  : string
    changes    : ChangeType[]
    filter?    : string
}
ChangeSubscription *-- "0..*" ChangeType : changes

class ChangeType:::cssEnum {
    <<enumeration>>
    create
    upsert
    merge
    delete
}