{"record":{"id":"b64897ed1f623873","repo":"SigNoz/signoz","slug":"alpha-param-should-be-between-0-and-1","errorCode":null,"errorMessage":"alpha param should be between 0 and 1","messagePattern":"alpha param should be between 0 and 1","errorType":"validation","errorClass":null,"httpStatus":400,"severity":"error","filePath":"pkg/query-service/model/v3/v3.go","lineNumber":1143,"sourceCode":"\t\t\t\t\tfunction.Args[0] = timeShiftBy\n\t\t\t\t}\n\t\t\t} else if function.Name == FunctionNameEWMA3 ||\n\t\t\t\tfunction.Name == FunctionNameEWMA5 ||\n\t\t\t\tfunction.Name == FunctionNameEWMA7 {\n\t\t\t\tif len(function.Args) == 0 {\n\t\t\t\t\treturn fmt.Errorf(\"alpha param missing in query\")\n\t\t\t\t}\n\t\t\t\talpha, ok := function.Args[0].(float64)\n\t\t\t\tif !ok {\n\t\t\t\t\t// if string, attempt to convert to float\n\t\t\t\t\talpha, err := strconv.ParseFloat(function.Args[0].(string), 64)\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn fmt.Errorf(\"alpha param should be a float\")\n\t\t\t\t\t}\n\t\t\t\t\tfunction.Args[0] = alpha\n\t\t\t\t}\n\t\t\t\tif alpha < 0 || alpha > 1 {\n\t\t\t\t\treturn fmt.Errorf(\"alpha param should be between 0 and 1\")\n\t\t\t\t}\n\t\t\t} else if function.Name == FunctionNameCutOffMax ||\n\t\t\t\tfunction.Name == FunctionNameCutOffMin ||\n\t\t\t\tfunction.Name == FunctionNameClampMax ||\n\t\t\t\tfunction.Name == FunctionNameClampMin {\n\t\t\t\tif len(function.Args) == 0 {\n\t\t\t\t\treturn fmt.Errorf(\"threshold param missing in query\")\n\t\t\t\t}\n\t\t\t\t_, ok := function.Args[0].(float64)\n\t\t\t\tif !ok {\n\t\t\t\t\t// if string, attempt to convert to float\n\t\t\t\t\tif _, ok := function.Args[0].(string); !ok {\n\t\t\t\t\t\treturn fmt.Errorf(\"threshold param should be a float\")\n\t\t\t\t\t}\n\t\t\t\t\tthreshold, err := strconv.ParseFloat(function.Args[0].(string), 64)\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn fmt.Errorf(\"threshold param should be a float\")\n\t\t\t\t\t}","sourceCodeStart":1125,"sourceCodeEnd":1161,"githubUrl":"https://github.com/SigNoz/signoz/blob/5069bf80b08f1f00d7e014eccc09902f9871004f/pkg/query-service/model/v3/v3.go#L1125-L1161","documentation":"EWMA's alpha is a smoothing factor that must lie in [0,1]. After normalizing Args[0] to a float, Validate() rejects values <0 or >1 with this message.","triggerScenarios":"\"args\":[1.5] or [\"-0.2\"] on EWMA3/EWMA5/EWMA7.","commonSituations":"Users entering a percentage (e.g. 50 instead of 0.5) or a window size; copy-pasted values from other tools with different alpha semantics.","solutions":["Use a value in [0,1]; if you meant a percentage, divide by 100","Clamp alpha client-side before sending"],"exampleFix":"// before\n{\"name\":\"EWMA3\",\"args\":[50]}\n// after\n{\"name\":\"EWMA3\",\"args\":[0.5]}","handlingStrategy":"validation","validationCode":"if alpha < 0 || alpha > 1 { return errors.New(\"alpha must be within [0,1]\") }","typeGuard":"func isValidAlpha(a float64) bool { return a >= 0 && a <= 1 }","tryCatchPattern":null,"preventionTips":["If collecting a percentage, divide by 100 before sending","Clamp alpha in the client"],"tags":["signoz","query-builder","ewma","range-error"],"backgroundTag":"query-validation-failed","analyzedSha":"5069bf80b08f1f00d7e014eccc09902f9871004f","analyzedAt":"2026-08-28T06:22:12.824Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}