Skip to content

Commit 5e3b364

Browse files
Introduce Overview#has_jit_enabled
1 parent 15a8899 commit 5e3b364

File tree

4 files changed

+39
-1
lines changed

4 files changed

+39
-1
lines changed

CHANGELOG.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
## v0.65.0 (in development)
44

5-
No changes yet.
5+
### Enhancements
6+
7+
* `Overview#has_jit_enabled` is a new method that returns `true` if the Erlang runtime has the JIT enabled
68

79
## v0.64.0 (Oct 9, 2025)
810

src/responses/cluster.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -504,6 +504,12 @@ pub struct Overview {
504504
pub message_stats: MessageStats,
505505
}
506506

507+
impl Overview {
508+
pub fn has_jit_enabled(&self) -> bool {
509+
self.erlang_full_version.contains("[jit]")
510+
}
511+
}
512+
507513
/// Garbage collection details for queue processes
508514
#[derive(Debug, Deserialize, Clone)]
509515
#[cfg_attr(feature = "tabled", derive(Tabled))]

tests/async_overview_tests.rs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,18 @@ async fn test_async_overview() {
3030
let ov = result1.unwrap();
3131
assert!(ov.object_totals.exchanges > 0);
3232
}
33+
34+
#[tokio::test]
35+
async fn test_async_overview_jit_detection() {
36+
let endpoint = endpoint();
37+
let rc = Client::new(&endpoint, USERNAME, PASSWORD);
38+
39+
let result = rc.overview().await;
40+
assert!(result.is_ok(), "overview returned {result:?}");
41+
42+
let ov = result.unwrap();
43+
44+
// The method should return true if [jit] is in erlang_full_version, false otherwise
45+
let has_jit = ov.erlang_full_version.contains("[jit]");
46+
assert_eq!(ov.has_jit_enabled(), has_jit);
47+
}

tests/blocking_overview_tests.rs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,18 @@ fn test_blocking_overview() {
2727
let ov = result1.unwrap();
2828
assert!(ov.object_totals.exchanges > 0);
2929
}
30+
31+
#[test]
32+
fn test_blocking_overview_jit_detection() {
33+
let endpoint = endpoint();
34+
let rc = Client::new(&endpoint, USERNAME, PASSWORD);
35+
36+
let result = rc.overview();
37+
assert!(result.is_ok(), "overview returned {result:?}");
38+
39+
let ov = result.unwrap();
40+
41+
// The method should return true if [jit] is in erlang_full_version, false otherwise
42+
let has_jit = ov.erlang_full_version.contains("[jit]");
43+
assert_eq!(ov.has_jit_enabled(), has_jit);
44+
}

0 commit comments

Comments
 (0)