{"record":{"id":"91bdf91826b8b704","repo":"juicedata/juicefs","slug":"extract-samples-w","errorCode":null,"errorMessage":"extract samples: %w","messagePattern":"extract samples: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"sdk/java/libjfs/remote_write.go","lineNumber":204,"sourceCode":"\t\treturn fmt.Errorf(\"send request: %w\", err)\n\t}\n\tdefer resp.Body.Close()\n\n\tif resp.StatusCode/100 != 2 {\n\t\treturn fmt.Errorf(\"remote_write failed: %s\", resp.Status)\n\t}\n\n\treturn nil\n}\n\n// ConvertMetricsToTimeSeries converts Prometheus metric families to TimeSeries.\nfunc (rw *RemoteWriter) ConvertMetricsToTimeSeries(mfs []*dto.MetricFamily) ([]prompb.TimeSeries, error) {\n\tnow := model.Time(time.Now().UnixMilli())\n\tsamples, err := expfmt.ExtractSamples(&expfmt.DecodeOptions{\n\t\tTimestamp: now,\n\t}, mfs...)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"extract samples: %w\", err)\n\t}\n\n\tvar tsList []prompb.TimeSeries\n\tfor _, sample := range samples {\n\t\t// Convert model.Metric to prompb.Label slice\n\t\tlabels := make([]prompb.Label, 0, len(sample.Metric))\n\t\tfor name, value := range sample.Metric {\n\t\t\tlabels = append(labels, prompb.Label{\n\t\t\t\tName:  string(name),\n\t\t\t\tValue: string(value),\n\t\t\t})\n\t\t}\n\n\t\ttsList = append(tsList, prompb.TimeSeries{\n\t\t\tLabels: labels,\n\t\t\tSamples: []prompb.Sample{{\n\t\t\t\tValue:     float64(sample.Value),\n\t\t\t\tTimestamp: int64(sample.Timestamp),","sourceCodeStart":186,"sourceCodeEnd":222,"githubUrl":"https://github.com/juicedata/juicefs/blob/c9a67b23e8e08ec23ec331aa6f1675e2319e921c/sdk/java/libjfs/remote_write.go#L186-L222","documentation":"Returned by ConvertMetricsToTimeSeries when expfmt.ExtractSamples fails to decode samples from the metric families — e.g. inconsistent label cardinality or histogram/summary fields that cannot produce samples. The wrapped error names the extraction failure.","triggerScenarios":"Thrown at sdk/java/libjfs/remote_write.go:204 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Ensure exported metrics are well-formed (consistent labels, valid histograms)"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"c9a67b23e8e08ec23ec331aa6f1675e2319e921c","analyzedAt":"2026-09-06T17:55:48.476Z","contentChangedAt":"2026-09-06T17:55:48.476Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}