Esempio n. 1
0
func (self *DataTestSuite) CountWithAlias(c *C) (Fun, Fun) {
	return func(client Client) {
			// generate 10 points to make sure the aggregation will be calculated
			now := time.Now().Truncate(time.Hour)
			data := CreatePoints("test_aliasing", 1, 2)
			data[0].Columns = append(data[0].Columns, "time")
			data[0].Points[0] = append(data[0].Points[0], now.Unix())
			data[0].Points[1] = append(data[0].Points[1], now.Add(-time.Second).Unix())
			client.WriteData(data, c)
		}, func(client Client) {
			for _, name := range engine.GetRegisteredAggregators() {
				query := fmt.Sprintf("select %s(column0) as some_alias from test_aliasing", name)
				if name == "percentile" {
					query = "select percentile(column0, 90) as some_alias from test_aliasing"
				}
				fmt.Printf("query: %s\n", query)
				data := client.RunQuery(query, c, "m")
				c.Assert(data, HasLen, 1)
				c.Assert(data[0].Name, Equals, "test_aliasing")
				if name == "histogram" {
					c.Assert(data[0].Columns, DeepEquals, []string{"time", "some_alias_bucket_start", "some_alias_count"})
					continue
				}
				c.Assert(data[0].Columns, DeepEquals, []string{"time", "some_alias"})
			}
		}
}
Esempio n. 2
0
func (self *IntegrationSuite) TestCountWithAlias(c *C) {
	for i := 0; i < 5; i++ {
		err := self.server.WriteData(fmt.Sprintf(`
[
  {
     "name": "test_aliasing",
     "columns": ["cpu", "host"],
     "points": [[%d, "hosta"], [%d, "hostb"]]
  }
]
`, 60+i*10, 70+i*10))
		c.Assert(err, IsNil)
	}
	for _, name := range engine.GetRegisteredAggregators() {
		query := fmt.Sprintf("select %s(cpu) as some_alias from test_aliasing", name)
		if name == "percentile" {
			query = "select percentile(cpu, 90) as some_alias from test_aliasing"
		}
		fmt.Printf("query: %s\n", query)
		bs, err := self.server.RunQuery(query, "m")
		c.Assert(err, IsNil)
		data := []*SerializedSeries{}
		err = json.Unmarshal(bs, &data)
		c.Assert(data, HasLen, 1)
		c.Assert(data[0].Name, Equals, "test_aliasing")
		if name == "histogram" {
			c.Assert(data[0].Columns, DeepEquals, []string{"time", "some_alias_bucket_start", "some_alias_count"})
			continue
		}
		c.Assert(data[0].Columns, DeepEquals, []string{"time", "some_alias"})
	}
}