Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MemoryDatabase ¶
type MemoryDatabase interface { // WithMaxTagsLimit spawn a goroutine to receives limitation from this channel // The producer shall send the config periodically // key: metric-name, value: max-limit WithMaxTagsLimit(<-chan map[string]uint32) // Write writes metrics to the memory-database, // return error on exceeding max count of tagsIdentifier or writing failure Write(metric *pb.Metric) error // ResetMetricStore reassigns a new version to metricStore // This method provides the ability to reset the tsStore in memory for skipping the tsID-limitation ResetMetricStore(metricName string) error // CountMetrics returns the metrics-count of the memory-database CountMetrics() int // CountTags returns the tags-count of the metricName, return -1 if not exist CountTags(metricName string) int // Families returns the families in memory which has not been flushed yet Families() []int64 // FlushFamilyTo flushes the corresponded family data to builder. // Close is not in the flushing process. FlushFamilyTo(flusher kv.Flusher, familyTime int64) error // SeriesIDsFilter contains the methods for filtering seriesIDs from memDB index.SeriesIDsFilter }
MemoryDatabase is a database-like concept of Shard as memTable in cassandra.
func NewMemoryDatabase ¶
func NewMemoryDatabase(ctx context.Context, timeWindow int, intervalValue int64, intervalType interval.Type) (MemoryDatabase, error)
NewMemoryDatabase returns a new MemoryDatabase.
Click to show internal directories.
Click to hide internal directories.