rrtrace 0.1.0-x86_64-linux → 0.2.0-x86_64-linux

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,31 @@
1
+ use std::sync::atomic::AtomicU32;
2
+ use std::sync::{Arc, atomic};
3
+
4
+ #[derive(Debug, Clone)]
5
+ pub struct UniversalNotifier {
6
+ target: Arc<AtomicU32>,
7
+ }
8
+
9
+ impl UniversalNotifier {
10
+ pub fn new() -> UniversalNotifier {
11
+ UniversalNotifier {
12
+ target: Arc::new(AtomicU32::new(0)),
13
+ }
14
+ }
15
+
16
+ #[inline(always)]
17
+ pub fn value(&self) -> u32 {
18
+ self.target.load(atomic::Ordering::Relaxed)
19
+ }
20
+
21
+ #[inline(always)]
22
+ pub fn wait(&self, v: u32) {
23
+ atomic_wait::wait(&self.target, v)
24
+ }
25
+
26
+ #[inline(always)]
27
+ pub fn notify(&self) {
28
+ self.target.fetch_add(1, atomic::Ordering::Relaxed);
29
+ atomic_wait::wake_all(&*self.target);
30
+ }
31
+ }
data/taplo.toml ADDED
@@ -0,0 +1,4 @@
1
+ [formatting]
2
+ reorder_arrays = true
3
+ reorder_inline_tables = true
4
+ reorder_keys = true
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rrtrace
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: x86_64-linux
6
6
  authors:
7
7
  - White-Green
@@ -27,16 +27,20 @@ description: Rrtrace is a profiling tool that captures Ruby method calls and vis
27
27
  them using a high-performance Rust renderer.
28
28
  email:
29
29
  - 43771790+White-Green@users.noreply.github.com
30
- executables: []
30
+ executables:
31
+ - rrtrace
31
32
  extensions: []
32
33
  extra_rdoc_files: []
33
34
  files:
35
+ - ".github/dependabot.yml"
36
+ - ".github/workflows/ci.yml"
34
37
  - ".github/workflows/release.yml"
35
38
  - Cargo.lock
36
39
  - Cargo.toml
37
40
  - LICENSE.txt
38
41
  - README.md
39
42
  - Rakefile
43
+ - exe/rrtrace
40
44
  - ext/rrtrace/extconf.rb
41
45
  - ext/rrtrace/process_manager_posix.h
42
46
  - ext/rrtrace/process_manager_windows.h
@@ -47,12 +51,17 @@ files:
47
51
  - ext/rrtrace/rust_build_helper.rb
48
52
  - ext/rrtrace/shared_memory_posix.h
49
53
  - ext/rrtrace/shared_memory_windows.h
54
+ - ext/rrtrace/time_posix.h
55
+ - ext/rrtrace/time_windows.h
50
56
  - lib/rrtrace.rb
51
57
  - lib/rrtrace/rrtrace.so
58
+ - lib/rrtrace/run.rb
52
59
  - lib/rrtrace/version.rb
53
60
  - mise.toml
54
61
  - sig/rrtrace.rbs
55
62
  - src/main.rs
63
+ - src/object_scatter.rs
64
+ - src/oneshot_channel.rs
56
65
  - src/renderer.rs
57
66
  - src/renderer/vertex_arena.rs
58
67
  - src/ringbuffer.rs
@@ -60,6 +69,8 @@ files:
60
69
  - src/shm_unix.rs
61
70
  - src/shm_windows.rs
62
71
  - src/trace_state.rs
72
+ - src/universal_notifier.rs
73
+ - taplo.toml
63
74
  homepage: https://github.com/White-Green/rrtrace
64
75
  licenses:
65
76
  - MIT
@@ -82,7 +93,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
82
93
  - !ruby/object:Gem::Version
83
94
  version: '0'
84
95
  requirements: []
85
- rubygems_version: 4.0.3
96
+ rubygems_version: 4.0.6
86
97
  specification_version: 4
87
98
  summary: A Ruby trace tool with Rust-based visualizer
88
99
  test_files: []