mirror of
https://github.com/prometheus/prometheus.git
synced 2025-07-03 11:03:25 +00:00
Initial experimental snapshot of next-gen storage.
Change-Id: Ifb8709960dbedd1d9f5efd88cdd359ee9fa9d26d
This commit is contained in:
parent
134bd8fe34
commit
e7ed39c9a6
81 changed files with 2829 additions and 13909 deletions
47
storage/local/test_helpers.go
Normal file
47
storage/local/test_helpers.go
Normal file
|
@ -0,0 +1,47 @@
|
|||
package storage_ng
|
||||
|
||||
import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/prometheus/prometheus/utility/test"
|
||||
)
|
||||
|
||||
type testStorageCloser struct {
|
||||
storage Storage
|
||||
directory test.Closer
|
||||
}
|
||||
|
||||
func (t *testStorageCloser) Close() {
|
||||
t.storage.Close()
|
||||
t.directory.Close()
|
||||
}
|
||||
|
||||
func NewTestStorage(t testing.TB) (Storage, test.Closer) {
|
||||
directory := test.NewTemporaryDirectory("test_storage", t)
|
||||
persistence, err := NewDiskPersistence(directory.Path(), 1024)
|
||||
if err != nil {
|
||||
t.Fatal("Error opening disk persistence: ", err)
|
||||
}
|
||||
o := &MemorySeriesStorageOptions{
|
||||
Persistence: persistence,
|
||||
MemoryEvictionInterval: time.Minute,
|
||||
MemoryRetentionPeriod: time.Hour,
|
||||
}
|
||||
storage, err := NewMemorySeriesStorage(o)
|
||||
if err != nil {
|
||||
directory.Close()
|
||||
t.Fatalf("Error creating storage: %s", err)
|
||||
}
|
||||
|
||||
storageStarted := make(chan bool)
|
||||
go storage.Serve(storageStarted)
|
||||
<-storageStarted
|
||||
|
||||
closer := &testStorageCloser{
|
||||
storage: storage,
|
||||
directory: directory,
|
||||
}
|
||||
|
||||
return storage, closer
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue