{"record":{"id":"7be6e14888ef575d","repo":"cloudflare/cloudflared","slug":"invalid-sample-value-provided-please-make-sure","errorCode":null,"errorMessage":"invalid --sample value provided, please make sure it is in the range (0.0 .. 1.0)","messagePattern":"invalid --sample value provided, please make sure it is in the range \\(0\\.0 \\.\\. 1\\.0\\)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cmd/cloudflared/tail/cmd.go","lineNumber":191,"sourceCode":"\n\tif argLevel != \"\" {\n\t\tl, ok := management.ParseLogLevel(argLevel)\n\t\tif !ok {\n\t\t\treturn nil, fmt.Errorf(\"invalid --level filter provided, please use one of the following Log Levels: debug, info, warn, error\")\n\t\t}\n\t\tlevel = &l\n\t}\n\n\tfor _, v := range argEvents {\n\t\tt, ok := management.ParseLogEventType(v)\n\t\tif !ok {\n\t\t\treturn nil, fmt.Errorf(\"invalid --event filter provided, please use one of the following EventTypes: cloudflared, http, tcp, udp\")\n\t\t}\n\t\tevents = append(events, t)\n\t}\n\n\tif argSample <= 0.0 || argSample > 1.0 {\n\t\treturn nil, fmt.Errorf(\"invalid --sample value provided, please make sure it is in the range (0.0 .. 1.0)\")\n\t}\n\tsample = argSample\n\n\tif level == nil && len(events) == 0 && argSample != 1.0 {\n\t\t// When no filters are provided, do not return a StreamingFilters struct\n\t\treturn nil, nil\n\t}\n\n\treturn &management.StreamingFilters{\n\t\tLevel:    level,\n\t\tEvents:   events,\n\t\tSampling: sample,\n\t}, nil\n}\n\n// buildURL will build the management url to contain the required query parameters to authenticate the request.\nfunc buildURL(c *cli.Context, log *zerolog.Logger, res cfapi.ManagementResource) (url.URL, error) {\n\tvar err error","sourceCodeStart":173,"sourceCodeEnd":209,"githubUrl":"https://github.com/cloudflare/cloudflared/blob/2253eeeb25a44a713a4b60b8ba1e1b3f377d1a0f/cmd/cloudflared/tail/cmd.go#L173-L209","documentation":"Range-validation error in parseFilters for `cloudflared tail`. It fires when the --sample flag is <= 0.0 or > 1.0; the sampling rate must be a fraction in (0.0 .. 1.0] so the CLI rejects the value before sending StreamingFilters to the edge.","triggerScenarios":"Running e.g. `cloudflared tail --sample 1.5 <tunnel-id>` or `--sample 0 <tunnel-id>` — any value <= 0.0 or > 1.0.","commonSituations":"Passing a percentage (50 instead of 0.5), a negative number, or intending 'all events' with a wrong representation of 1.0.","solutions":["Use a decimal fraction between 0 and 1, e.g. 0.5 for 50%","Use 1.0 to receive all events","Omit --sample entirely for default (unfiltered) behavior"],"exampleFix":"# before\ncloudflared tail --sample 50 <tunnel-id>\n# after\ncloudflared tail --sample 0.5 <tunnel-id>","handlingStrategy":"validation","validationCode":"s, err := strconv.ParseFloat(sampleFlag, 64)\nif err != nil || s <= 0.0 || s > 1.0 {\n\treturn fmt.Errorf(\"--sample must be in (0.0 .. 1.0]\")\n}","typeGuard":"func validSample(f float64) bool { return f > 0.0 && f <= 1.0 }","tryCatchPattern":null,"preventionTips":["Convert percentages to fractions before passing (50% -> 0.5)","Omit --sample for full-stream default behavior","Clamp computed sample rates into (0,1] before use"],"tags":["cli","validation","flags"],"backgroundTag":"value-out-of-range","analyzedSha":"2253eeeb25a44a713a4b60b8ba1e1b3f377d1a0f","analyzedAt":"2026-09-06T04:14:33.757Z","contentChangedAt":"2026-09-06T04:14:33.757Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}