Skip to content

Commit 81aa336

Browse files
committed
fix: AtomicI64, AtomicU64 for build mipsel processor
1 parent 3ac2d9f commit 81aa336

File tree

3 files changed

+10
-7
lines changed

3 files changed

+10
-7
lines changed

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,4 @@ tracing = { version = "0.1", default-features = false }
4848
tracing-core = { version = "0.1", default-features = false }
4949
tracing-subscriber = { version = "0.3", default-features = false }
5050
url = { version = "2.5.2", default-features = false } #https://github.com/servo/rust-url/issues/992
51+
portable-atomic = "1.9.0"

opentelemetry-sdk/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ tokio = { workspace = true, features = ["rt", "time"], optional = true }
2929
tokio-stream = { workspace = true, optional = true }
3030
http = { workspace = true, optional = true }
3131
tracing = {workspace = true, optional = true}
32+
portable-atomic = {workspace = true}
3233

3334
[package.metadata.docs.rs]
3435
all-features = true

opentelemetry-sdk/src/metrics/internal/mod.rs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,15 @@ use core::fmt;
99
use std::collections::{HashMap, HashSet};
1010
use std::mem::take;
1111
use std::ops::{Add, AddAssign, DerefMut, Sub};
12-
use std::sync::atomic::{AtomicBool, AtomicI64, AtomicU64, AtomicUsize, Ordering};
12+
use std::sync::atomic::Ordering;
1313
use std::sync::{Arc, RwLock};
1414

1515
use aggregate::is_under_cardinality_limit;
1616
pub(crate) use aggregate::{AggregateBuilder, ComputeAggregation, Measure};
1717
pub(crate) use exponential_histogram::{EXPO_MAX_SCALE, EXPO_MIN_SCALE};
1818
use once_cell::sync::Lazy;
1919
use opentelemetry::{otel_warn, KeyValue};
20+
use portable_atomic::{AtomicBool, AtomicI64, AtomicU64, AtomicUsize};
2021

2122
use crate::metrics::AttributeSet;
2223

@@ -410,8 +411,8 @@ mod tests {
410411
#[test]
411412
fn can_add_and_get_u64_atomic_value() {
412413
let atomic = u64::new_atomic_tracker(0);
413-
atomic.add(15);
414-
atomic.add(10);
414+
atomic.add(15, Ordering::Relaxed);
415+
atomic.add(10, Ordering::Relaxed);
415416

416417
let value = atomic.get_value();
417418
assert_eq!(value, 25);
@@ -420,7 +421,7 @@ mod tests {
420421
#[test]
421422
fn can_reset_u64_atomic_value() {
422423
let atomic = u64::new_atomic_tracker(0);
423-
atomic.add(15);
424+
atomic.add(15, Ordering::Relaxed);
424425

425426
let value = atomic.get_and_reset_value();
426427
let value2 = atomic.get_value();
@@ -449,8 +450,8 @@ mod tests {
449450
#[test]
450451
fn can_add_and_get_i64_atomic_value() {
451452
let atomic = i64::new_atomic_tracker(0);
452-
atomic.add(15);
453-
atomic.add(-10);
453+
atomic.add(15, Ordering::Relaxed);
454+
atomic.add(-10, Ordering::Relaxed);
454455

455456
let value = atomic.get_value();
456457
assert_eq!(value, 5);
@@ -459,7 +460,7 @@ mod tests {
459460
#[test]
460461
fn can_reset_i64_atomic_value() {
461462
let atomic = i64::new_atomic_tracker(0);
462-
atomic.add(15);
463+
atomic.add(15, Ordering::Relaxed);
463464

464465
let value = atomic.get_and_reset_value();
465466
let value2 = atomic.get_value();

0 commit comments

Comments
 (0)