diff --git a/pkg/tsdb/elasticsearch/client/index_pattern.go b/pkg/tsdb/elasticsearch/client/index_pattern.go index 952b5c4f806..da3c471424d 100644 --- a/pkg/tsdb/elasticsearch/client/index_pattern.go +++ b/pkg/tsdb/elasticsearch/client/index_pattern.go @@ -279,7 +279,7 @@ func formatDate(t time.Time, pattern string) string { isoYearShort := fmt.Sprintf("%d", isoYear)[2:4] formatted = strings.Replace(formatted, "", fmt.Sprintf("%d", isoYear), -1) formatted = strings.Replace(formatted, "", isoYearShort, -1) - formatted = strings.Replace(formatted, "", fmt.Sprintf("%d", isoWeek), -1) + formatted = strings.Replace(formatted, "", fmt.Sprintf("%02d", isoWeek), -1) formatted = strings.Replace(formatted, "", fmt.Sprintf("%d", t.Unix()), -1) diff --git a/pkg/tsdb/elasticsearch/client/index_pattern_test.go b/pkg/tsdb/elasticsearch/client/index_pattern_test.go index ca20b39d532..a3a056da04f 100644 --- a/pkg/tsdb/elasticsearch/client/index_pattern_test.go +++ b/pkg/tsdb/elasticsearch/client/index_pattern_test.go @@ -76,6 +76,15 @@ func TestIndexPattern(t *testing.T) { So(indices, ShouldHaveLength, 1) So(indices[0], ShouldEqual, "2018-data") }) + + Convey("Should return 01 week", func() { + from = fmt.Sprintf("%d", time.Date(2018, 1, 15, 17, 50, 0, 0, time.UTC).UnixNano()/int64(time.Millisecond)) + to = fmt.Sprintf("%d", time.Date(2018, 1, 15, 17, 55, 0, 0, time.UTC).UnixNano()/int64(time.Millisecond)) + indexPatternScenario(intervalWeekly, "[data-]GGGG.WW", tsdb.NewTimeRange(from, to), func(indices []string) { + So(indices, ShouldHaveLength, 1) + So(indices[0], ShouldEqual, "data-2018.03") + }) + }) }) Convey("Hourly interval", t, func() {