Commit f5e00e13 by bergquist

dashboards as cfg: moves dashcash into its own file

parent 237d469e
package dashboards
import (
"github.com/grafana/grafana/pkg/services/dashboards"
gocache "github.com/patrickmn/go-cache"
"time"
)
type dashboardCache struct {
internalCache *gocache.Cache
}
func NewDashboardCache() *dashboardCache {
return &dashboardCache{internalCache: gocache.New(5*time.Minute, 30*time.Minute)}
}
func (fr *dashboardCache) addDashboardCache(key string, json *dashboards.SaveDashboardItem) {
fr.internalCache.Add(key, json, time.Minute*10)
}
func (fr *dashboardCache) getCache(key string) (*dashboards.SaveDashboardItem, bool) {
obj, exist := fr.internalCache.Get(key)
if !exist {
return nil, exist
}
dash, ok := obj.(*dashboards.SaveDashboardItem)
if !ok {
return nil, ok
}
return dash, ok
}
......@@ -29,7 +29,7 @@ type fileReader struct {
Path string
log log.Logger
dashboardRepo dashboards.Repository
cache *DashboardCache
cache *dashboardCache
createWalk func(fr *fileReader, folderId int64) filepath.WalkFunc
}
......@@ -87,7 +87,7 @@ func (fr *fileReader) startWalkingDisk() error {
}
}
folderId, err := getOrCreateFolder(fr.Cfg, fr.dashboardRepo)
folderId, err := getOrCreateFolderId(fr.Cfg, fr.dashboardRepo)
if err != nil && err != ErrFolderNameMissing {
return err
}
......@@ -95,7 +95,7 @@ func (fr *fileReader) startWalkingDisk() error {
return filepath.Walk(fr.Path, fr.createWalk(fr, folderId))
}
func getOrCreateFolder(cfg *DashboardsAsConfig, repo dashboards.Repository) (int64, error) {
func getOrCreateFolderId(cfg *DashboardsAsConfig, repo dashboards.Repository) (int64, error) {
if cfg.Folder == "" {
return 0, ErrFolderNameMissing
}
......
......@@ -133,7 +133,7 @@ func TestDashboardFileReader(t *testing.T) {
},
}
_, err := getOrCreateFolder(cfg, fakeRepo)
_, err := getOrCreateFolderId(cfg, fakeRepo)
So(err, ShouldEqual, ErrFolderNameMissing)
})
......@@ -148,7 +148,7 @@ func TestDashboardFileReader(t *testing.T) {
},
}
folderId, err := getOrCreateFolder(cfg, fakeRepo)
folderId, err := getOrCreateFolderId(cfg, fakeRepo)
So(err, ShouldBeNil)
inserted := false
for _, d := range fakeRepo.inserted {
......
......@@ -7,7 +7,6 @@ import (
"github.com/grafana/grafana/pkg/services/dashboards"
"github.com/grafana/grafana/pkg/models"
gocache "github.com/patrickmn/go-cache"
)
type DashboardsAsConfig struct {
......@@ -19,32 +18,6 @@ type DashboardsAsConfig struct {
Options map[string]interface{} `json:"options" yaml:"options"`
}
type DashboardCache struct {
internalCache *gocache.Cache
}
func NewDashboardCache() *DashboardCache {
return &DashboardCache{internalCache: gocache.New(5*time.Minute, 30*time.Minute)}
}
func (fr *DashboardCache) addDashboardCache(key string, json *dashboards.SaveDashboardItem) {
fr.internalCache.Add(key, json, time.Minute*10)
}
func (fr *DashboardCache) getCache(key string) (*dashboards.SaveDashboardItem, bool) {
obj, exist := fr.internalCache.Get(key)
if !exist {
return nil, exist
}
dash, ok := obj.(*dashboards.SaveDashboardItem)
if !ok {
return nil, ok
}
return dash, ok
}
func createDashboardJson(data *simplejson.Json, lastModified time.Time, cfg *DashboardsAsConfig, folderId int64) (*dashboards.SaveDashboardItem, error) {
dash := &dashboards.SaveDashboardItem{}
dash.Dashboard = models.NewDashboardFromJson(data)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment