tmp
This commit is contained in:
@@ -724,12 +724,12 @@ func (s *Database) ListInstantMeasures(conn net.Conn, req proto.ListInstantMeasu
|
||||
return nil
|
||||
}
|
||||
|
||||
var since, until uint32
|
||||
if req.FirstHourOfDay > 0 {
|
||||
since, until = correctToFHD(req.Since, req.Until, req.FirstHourOfDay)
|
||||
} else {
|
||||
var (
|
||||
since = req.Since
|
||||
until = req.Until
|
||||
)
|
||||
if req.FirstHourOfDay > 0 {
|
||||
since, until = correctToFHD(req.Since, req.Until, req.FirstHourOfDay)
|
||||
}
|
||||
|
||||
resultCh := make(chan instantMeasuresResult, 1)
|
||||
@@ -800,13 +800,26 @@ type cumulativeMeasuresResult struct {
|
||||
}
|
||||
|
||||
func (s *Database) ListCumulativeMeasures(conn net.Conn, req proto.ListCumulativeMeasuresReq) error {
|
||||
if req.Since > req.Until {
|
||||
reply(conn, proto.ErrInvalidRange)
|
||||
return nil
|
||||
}
|
||||
|
||||
var (
|
||||
since = req.Since
|
||||
until = req.Until
|
||||
)
|
||||
if req.FirstHourOfDay > 0 {
|
||||
since, until = correctToFHD(since, until, req.FirstHourOfDay)
|
||||
}
|
||||
|
||||
resultCh := make(chan cumulativeMeasuresResult, 1)
|
||||
responseWriter := atree.NewCumulativeMeasureWriter(conn)
|
||||
|
||||
s.appendJobToWorkerQueue(tryListCumulativeMeasuresReq{
|
||||
MetricID: req.MetricID,
|
||||
Since: req.Since,
|
||||
Until: req.Until,
|
||||
Since: since,
|
||||
Until: until,
|
||||
ResponseWriter: responseWriter,
|
||||
ResultCh: resultCh,
|
||||
})
|
||||
@@ -820,8 +833,8 @@ func (s *Database) ListCumulativeMeasures(conn net.Conn, req proto.ListCumulativ
|
||||
case UntilFound:
|
||||
err := s.atree.ContinueIterateCumulativeByTreeCursor(atree.ContinueIterateCumulativeByTreeCursorReq{
|
||||
FracDigits: result.FracDigits,
|
||||
Since: req.Since,
|
||||
Until: req.Until,
|
||||
Since: since,
|
||||
Until: until,
|
||||
LastPageNo: result.PageNo,
|
||||
EndTimestamp: result.EndTimestamp,
|
||||
EndValue: result.EndValue,
|
||||
@@ -837,8 +850,8 @@ func (s *Database) ListCumulativeMeasures(conn net.Conn, req proto.ListCumulativ
|
||||
case UntilNotFound:
|
||||
err := s.atree.FindAndIterateCumulativeByTreeCursor(atree.FindAndIterateCumulativeByTreeCursorReq{
|
||||
FracDigits: result.FracDigits,
|
||||
Since: req.Since,
|
||||
Until: req.Until,
|
||||
Since: since,
|
||||
Until: until,
|
||||
RootPageNo: result.PageNo,
|
||||
ResponseWriter: responseWriter,
|
||||
})
|
||||
@@ -868,6 +881,11 @@ type instantPeriodsResult struct {
|
||||
}
|
||||
|
||||
func (s *Database) ListInstantPeriods(conn net.Conn, req proto.ListInstantPeriodsReq) error {
|
||||
if req.Since > req.Until {
|
||||
reply(conn, proto.ErrInvalidRange)
|
||||
return nil
|
||||
}
|
||||
|
||||
var (
|
||||
since = req.Since
|
||||
until = req.Until
|
||||
@@ -876,16 +894,11 @@ func (s *Database) ListInstantPeriods(conn net.Conn, req proto.ListInstantPeriod
|
||||
since, until = correctToFHD(since, until, req.FirstHourOfDay)
|
||||
}
|
||||
|
||||
if req.LastDayOfMonth > 0 {
|
||||
// fix
|
||||
}
|
||||
|
||||
resultCh := make(chan instantPeriodsResult, 1)
|
||||
|
||||
aggregator, err := atree.NewInstantAggregator(atree.InstantAggregatorOptions{
|
||||
GroupBy: req.GroupBy,
|
||||
FirstHourOfDay: req.FirstHourOfDay,
|
||||
LastDayOfMonth: req.LastDayOfMonth,
|
||||
})
|
||||
if err != nil {
|
||||
reply(conn, proto.ErrUnexpected)
|
||||
@@ -896,8 +909,8 @@ func (s *Database) ListInstantPeriods(conn net.Conn, req proto.ListInstantPeriod
|
||||
|
||||
s.appendJobToWorkerQueue(tryListInstantPeriodsReq{
|
||||
MetricID: req.MetricID,
|
||||
Since: req.Since,
|
||||
Until: req.Until,
|
||||
Since: since,
|
||||
Until: until,
|
||||
Aggregator: aggregator,
|
||||
ResponseWriter: responseWriter,
|
||||
ResultCh: resultCh,
|
||||
@@ -915,8 +928,8 @@ func (s *Database) ListInstantPeriods(conn net.Conn, req proto.ListInstantPeriod
|
||||
Aggregator: aggregator,
|
||||
ResponseWriter: responseWriter,
|
||||
LastPageNo: result.PageNo,
|
||||
Since: req.Since,
|
||||
Until: req.Until,
|
||||
Since: since,
|
||||
Until: until,
|
||||
})
|
||||
s.metricRUnlock(req.MetricID)
|
||||
|
||||
@@ -931,11 +944,10 @@ func (s *Database) ListInstantPeriods(conn net.Conn, req proto.ListInstantPeriod
|
||||
FracDigits: result.FracDigits,
|
||||
ResponseWriter: responseWriter,
|
||||
RootPageNo: result.PageNo,
|
||||
Since: req.Since,
|
||||
Until: req.Until,
|
||||
Since: since,
|
||||
Until: until,
|
||||
GroupBy: req.GroupBy,
|
||||
FirstHourOfDay: req.FirstHourOfDay,
|
||||
LastDayOfMonth: req.LastDayOfMonth,
|
||||
})
|
||||
s.metricRUnlock(req.MetricID)
|
||||
|
||||
@@ -964,12 +976,24 @@ type cumulativePeriodsResult struct {
|
||||
}
|
||||
|
||||
func (s *Database) ListCumulativePeriods(conn net.Conn, req proto.ListCumulativePeriodsReq) error {
|
||||
if req.Since > req.Until {
|
||||
reply(conn, proto.ErrInvalidRange)
|
||||
return nil
|
||||
}
|
||||
|
||||
var (
|
||||
since = req.Since
|
||||
until = req.Until
|
||||
)
|
||||
if req.FirstHourOfDay > 0 {
|
||||
since, until = correctToFHD(since, until, req.FirstHourOfDay)
|
||||
}
|
||||
|
||||
resultCh := make(chan cumulativePeriodsResult, 1)
|
||||
|
||||
aggregator, err := atree.NewCumulativeAggregator(atree.CumulativeAggregatorOptions{
|
||||
GroupBy: req.GroupBy,
|
||||
FirstHourOfDay: req.FirstHourOfDay,
|
||||
LastDayOfMonth: req.LastDayOfMonth,
|
||||
})
|
||||
if err != nil {
|
||||
reply(conn, proto.ErrUnexpected)
|
||||
@@ -980,8 +1004,8 @@ func (s *Database) ListCumulativePeriods(conn net.Conn, req proto.ListCumulative
|
||||
|
||||
s.appendJobToWorkerQueue(tryListCumulativePeriodsReq{
|
||||
MetricID: req.MetricID,
|
||||
Since: req.Since,
|
||||
Until: req.Until,
|
||||
Since: since,
|
||||
Until: until,
|
||||
Aggregator: aggregator,
|
||||
ResponseWriter: responseWriter,
|
||||
ResultCh: resultCh,
|
||||
@@ -999,8 +1023,8 @@ func (s *Database) ListCumulativePeriods(conn net.Conn, req proto.ListCumulative
|
||||
Aggregator: aggregator,
|
||||
ResponseWriter: responseWriter,
|
||||
LastPageNo: result.PageNo,
|
||||
Since: req.Since,
|
||||
Until: req.Until,
|
||||
Since: since,
|
||||
Until: until,
|
||||
})
|
||||
s.metricRUnlock(req.MetricID)
|
||||
|
||||
@@ -1015,11 +1039,10 @@ func (s *Database) ListCumulativePeriods(conn net.Conn, req proto.ListCumulative
|
||||
FracDigits: result.FracDigits,
|
||||
ResponseWriter: responseWriter,
|
||||
RootPageNo: result.PageNo,
|
||||
Since: req.Since,
|
||||
Until: req.Until,
|
||||
Since: since,
|
||||
Until: until,
|
||||
GroupBy: req.GroupBy,
|
||||
FirstHourOfDay: req.FirstHourOfDay,
|
||||
LastDayOfMonth: req.LastDayOfMonth,
|
||||
})
|
||||
s.metricRUnlock(req.MetricID)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user