Skip to content

Commit c41db80

Browse files
hash as i64
1 parent 6f0eb2b commit c41db80

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

src/otel/metrics.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -618,9 +618,13 @@ fn process_resource_metrics<T, S, M>(
618618
// perspective). Computed once per data point — O(label
619619
// count) per sample, ~200 ns at typical attribute counts.
620620
let series_hash = compute_series_hash(&dp);
621+
// Bit-reinterpret u64 → i64 so arrow-json infers a
622+
// signed integer column (it would coerce u64 values >
623+
// i64::MAX to Float64 and lose precision). The query
624+
// side reverses the cast: `i64.to_le_bytes() as u64`.
621625
dp.insert(
622626
"_series_hash".to_string(),
623-
Value::Number(series_hash.into()),
627+
Value::Number((series_hash as i64).into()),
624628
);
625629
vec_otel_json.push(Value::Object(dp));
626630
}

0 commit comments

Comments
 (0)