Merge branch 'master' of ssh://git.infini.ltd:64221/infini/console
This commit is contained in:
commit
7f46e36b34
|
@ -51,6 +51,14 @@ func (m *Metric) GenerateExpression() (string, error){
|
||||||
|
|
||||||
return string(expressionBytes), nil
|
return string(expressionBytes), nil
|
||||||
}
|
}
|
||||||
|
func (m *Metric) AutoTimeBeforeGroup() bool {
|
||||||
|
for _, item := range m.Items {
|
||||||
|
if item.Statistic == "derivative" {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
type MetricItem struct {
|
type MetricItem struct {
|
||||||
Name string `json:"name,omitempty"`
|
Name string `json:"name,omitempty"`
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package api
|
package api
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"infini.sh/console/plugin/api/license"
|
||||||
"path"
|
"path"
|
||||||
|
|
||||||
"infini.sh/console/config"
|
"infini.sh/console/config"
|
||||||
|
@ -72,4 +73,6 @@ func Init(cfg *config.AppConfig) {
|
||||||
insight.InitAPI()
|
insight.InitAPI()
|
||||||
layout.InitAPI()
|
layout.InitAPI()
|
||||||
notification.InitAPI()
|
notification.InitAPI()
|
||||||
|
|
||||||
|
license.InitAPI()
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,7 +214,8 @@ func getMetricData(metric *insight.Metric) (interface{}, error) {
|
||||||
agg = aggM["filter_agg"]
|
agg = aggM["filter_agg"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
metricData := CollectMetricData(agg, true)
|
timeBeforeGroup := metric.AutoTimeBeforeGroup()
|
||||||
|
metricData := CollectMetricData(agg, timeBeforeGroup)
|
||||||
|
|
||||||
var targetMetricData []insight.MetricData
|
var targetMetricData []insight.MetricData
|
||||||
formula := strings.TrimSpace(metric.Formula)
|
formula := strings.TrimSpace(metric.Formula)
|
||||||
|
|
|
@ -79,7 +79,7 @@ func generateAgg(metricItem *insight.MetricItem, timeField string) map[string]in
|
||||||
}
|
}
|
||||||
|
|
||||||
func GenerateQuery(metric *insight.Metric) (interface{}, error) {
|
func GenerateQuery(metric *insight.Metric) (interface{}, error) {
|
||||||
var timeBeforeGroup = true
|
var timeBeforeGroup = metric.AutoTimeBeforeGroup()
|
||||||
basicAggs := util.MapStr{}
|
basicAggs := util.MapStr{}
|
||||||
i := 0
|
i := 0
|
||||||
for _, metricItem := range metric.Items {
|
for _, metricItem := range metric.Items {
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
/* Copyright © INFINI LTD. All rights reserved.
|
||||||
|
* Web: https://infinilabs.com
|
||||||
|
* Email: hello#infini.ltd */
|
||||||
|
|
||||||
|
package license
|
||||||
|
|
||||||
|
import (
|
||||||
|
"infini.sh/framework/core/api"
|
||||||
|
httprouter "infini.sh/framework/core/api/router"
|
||||||
|
"infini.sh/framework/core/util"
|
||||||
|
"infini.sh/license"
|
||||||
|
"net/http"
|
||||||
|
)
|
||||||
|
|
||||||
|
type LicenseAPI struct {
|
||||||
|
api.Handler
|
||||||
|
}
|
||||||
|
func InitAPI() {
|
||||||
|
handler := LicenseAPI{}
|
||||||
|
api.HandleAPIMethod(api.POST, "/_license/request_trial", handler.RequestTrialLicense)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (handler *LicenseAPI) RequestTrialLicense(w http.ResponseWriter, req *http.Request, p httprouter.Params) {
|
||||||
|
body, err := handler.GetRawBody(req)
|
||||||
|
if err != nil {
|
||||||
|
handler.Error500(w, err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
v := license.TrialRequest{}
|
||||||
|
util.FromJSONBytes(body, &v)
|
||||||
|
|
||||||
|
//TODO implement config for the api endpoint
|
||||||
|
request:=util.NewPostRequest("https://api.infini.sh/_license/request_trial", util.MustToJSONBytes(v))
|
||||||
|
response,err:=util.ExecuteRequest(request)
|
||||||
|
if err!=nil{
|
||||||
|
handler.WriteError(w,err.Error(),response.StatusCode)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
w.WriteHeader(response.StatusCode)
|
||||||
|
w.Write(response.Body)
|
||||||
|
}
|
|
@ -461,15 +461,18 @@ func (p *processor) checkBulkPipelineTaskStatus(bulkTask *task.Task, cfg *migrat
|
||||||
)
|
)
|
||||||
successDocs = migration_util.GetMapIntValue(bulkLabels, "success_docs")
|
successDocs = migration_util.GetMapIntValue(bulkLabels, "success_docs")
|
||||||
|
|
||||||
if !cfg.Target.SkipCountCheck && successDocs != totalDocs {
|
if successDocs != totalDocs {
|
||||||
return true, successDocs, fmt.Errorf("bulk complete but docs count unmatch: %d / %d, invalid docs: [%s] (reasons: [%s]), failure docs: [%s] (reasons: [%s])", successDocs, totalDocs, invalidDocs, invalidReasons, failureDocs, failureReasons)
|
// check count
|
||||||
}
|
if !cfg.Target.SkipCountCheck {
|
||||||
|
return true, successDocs, fmt.Errorf("bulk complete but docs count unmatch: %d / %d, invalid docs: [%s] (reasons: [%s]), failure docs: [%s] (reasons: [%s])", successDocs, totalDocs, invalidDocs, invalidReasons, failureDocs, failureReasons)
|
||||||
// successDocs matched but has errors
|
}
|
||||||
if bulkTask.Status == task.StatusError {
|
// has errors
|
||||||
return true, successDocs, nil
|
if bulkTask.Status == task.StatusError {
|
||||||
|
return true, successDocs, fmt.Errorf("bulk pipeline failed")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// successDocs matched, return ok
|
||||||
return true, successDocs, nil
|
return true, successDocs, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue