From 4c3454ad6f68e8dbacb6c1bea041482472ab9a05 Mon Sep 17 00:00:00 2001 From: "Tim St. Clair" Date: Thu, 5 May 2016 17:13:41 -0700 Subject: [PATCH] Inline storageDriver usage & fix error message --- cadvisor.go | 2 +- storage/storage.go | 2 ++ storagedriver.go | 17 ++++------------- 3 files changed, 7 insertions(+), 14 deletions(-) diff --git a/cadvisor.go b/cadvisor.go index 58ca2f07..6d80a049 100644 --- a/cadvisor.go +++ b/cadvisor.go @@ -110,7 +110,7 @@ func main() { memoryStorage, err := NewMemoryStorage() if err != nil { - glog.Fatalf("Failed to connect to database: %s", err) + glog.Fatalf("Failed to initialize storage driver: %s", err) } sysFs, err := sysfs.NewRealSysFs() diff --git a/storage/storage.go b/storage/storage.go index 3198bd0d..b420d4b1 100644 --- a/storage/storage.go +++ b/storage/storage.go @@ -16,6 +16,7 @@ package storage import ( "fmt" + "sort" info "github.com/google/cadvisor/info/v1" ) @@ -53,5 +54,6 @@ func ListDrivers() []string { for name := range registeredPlugins { drivers = append(drivers, name) } + sort.Strings(drivers) return drivers } diff --git a/storagedriver.go b/storagedriver.go index 272d82f7..a72bc144 100644 --- a/storagedriver.go +++ b/storagedriver.go @@ -17,7 +17,6 @@ package main import ( "flag" "fmt" - "sort" "strings" "time" @@ -35,26 +34,18 @@ import ( ) var ( - storageDriver string + storageDriver = flag.String("storage_driver", "", fmt.Sprintf("Storage `driver` to use. Data is always cached shortly in memory, this controls where data is pushed besides the local cache. Empty means none. Options are: , %s", strings.Join(storage.ListDrivers(), ", "))) storageDuration = flag.Duration("storage_duration", 2*time.Minute, "How long to keep data stored (Default: 2min).") ) -func init() { - // Add storage driver flag. - options := storage.ListDrivers() - sort.Strings(options) - storageDriverUsage := fmt.Sprintf("Storage `driver` to use. Data is always cached shortly in memory, this controls where data is pushed besides the local cache. Empty means none. Options are: , %s", strings.Join(options, ", ")) - flag.StringVar(&storageDriver, "storage_driver", "", storageDriverUsage) -} - // NewMemoryStorage creates a memory storage with an optional backend storage option. func NewMemoryStorage() (*memory.InMemoryCache, error) { - backendStorage, err := storage.New(storageDriver) + backendStorage, err := storage.New(*storageDriver) if err != nil { return nil, err } - if storageDriver != "" { - glog.Infof("Using backend storage type %q", storageDriver) + if *storageDriver != "" { + glog.Infof("Using backend storage type %q", *storageDriver) } glog.Infof("Caching stats in memory for %v", *storageDuration) return memory.New(*storageDuration, backendStorage), nil