Inline storageDriver usage & fix error message

This commit is contained in:
Tim St. Clair 2016-05-05 17:13:41 -07:00
parent a92834c8af
commit 4c3454ad6f
3 changed files with 7 additions and 14 deletions

View File

@ -110,7 +110,7 @@ func main() {
memoryStorage, err := NewMemoryStorage() memoryStorage, err := NewMemoryStorage()
if err != nil { 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() sysFs, err := sysfs.NewRealSysFs()

View File

@ -16,6 +16,7 @@ package storage
import ( import (
"fmt" "fmt"
"sort"
info "github.com/google/cadvisor/info/v1" info "github.com/google/cadvisor/info/v1"
) )
@ -53,5 +54,6 @@ func ListDrivers() []string {
for name := range registeredPlugins { for name := range registeredPlugins {
drivers = append(drivers, name) drivers = append(drivers, name)
} }
sort.Strings(drivers)
return drivers return drivers
} }

View File

@ -17,7 +17,6 @@ package main
import ( import (
"flag" "flag"
"fmt" "fmt"
"sort"
"strings" "strings"
"time" "time"
@ -35,26 +34,18 @@ import (
) )
var ( 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: <empty>, %s", strings.Join(storage.ListDrivers(), ", ")))
storageDuration = flag.Duration("storage_duration", 2*time.Minute, "How long to keep data stored (Default: 2min).") 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: <empty>, %s", strings.Join(options, ", "))
flag.StringVar(&storageDriver, "storage_driver", "", storageDriverUsage)
}
// NewMemoryStorage creates a memory storage with an optional backend storage option. // NewMemoryStorage creates a memory storage with an optional backend storage option.
func NewMemoryStorage() (*memory.InMemoryCache, error) { func NewMemoryStorage() (*memory.InMemoryCache, error) {
backendStorage, err := storage.New(storageDriver) backendStorage, err := storage.New(*storageDriver)
if err != nil { if err != nil {
return nil, err return nil, err
} }
if storageDriver != "" { if *storageDriver != "" {
glog.Infof("Using backend storage type %q", storageDriver) glog.Infof("Using backend storage type %q", *storageDriver)
} }
glog.Infof("Caching stats in memory for %v", *storageDuration) glog.Infof("Caching stats in memory for %v", *storageDuration)
return memory.New(*storageDuration, backendStorage), nil return memory.New(*storageDuration, backendStorage), nil