pyroscope_beta 0.1.7-x86_64-darwin → 0.2.2-x86_64-darwin
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.
- checksums.yaml +4 -4
- data/ext/rbspy/Cargo.lock +33 -46
- data/ext/rbspy/Cargo.toml +3 -0
- data/ext/rbspy/Rakefile +9 -3
- data/ext/rbspy/src/lib.rs +18 -6
- data/ext/thread_id/Rakefile +7 -2
- data/lib/pyroscope/version.rb +1 -1
- data/lib/pyroscope_beta.rb +11 -8
- data/lib/rbspy/rbspy.bundle +0 -0
- data/lib/thread_id/thread_id.bundle +0 -0
- data/pyroscope.gemspec +2 -13
- metadata +5 -159
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: b1ded47af9a0da04f6eea2e2c6d2e0c57cca4214992431f879206cd5bdf09750
         | 
| 4 | 
            +
              data.tar.gz: 9b653cebdae42ecf1896b7af914934d08721d42afd1d58324f4bbfed629a718f
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 8e6e1c3b8236cb965162d012ef68dfa09f7e0d8cab9e11ee15e7f4869defe192c2946098489aa5b802b75d3cc9f366e7a15ac1c28432fa39b4c0e2f39cb20685
         | 
| 7 | 
            +
              data.tar.gz: dad7056241a4b73d462edee48547a05329ef58647ff2cf88a881f74585034349145257b56f3e506c16df14810f57c880f6d63bc06d9bf3a14a9c835c52be64ed
         | 
    
        data/ext/rbspy/Cargo.lock
    CHANGED
    
    | @@ -120,9 +120,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" | |
| 120 120 |  | 
| 121 121 | 
             
            [[package]]
         | 
| 122 122 | 
             
            name = "bumpalo"
         | 
| 123 | 
            -
            version = "3. | 
| 123 | 
            +
            version = "3.10.0"
         | 
| 124 124 | 
             
            source = "registry+https://github.com/rust-lang/crates.io-index"
         | 
| 125 | 
            -
            checksum = " | 
| 125 | 
            +
            checksum = "37ccbd214614c6783386c1af30caf03192f17891059cecc394b4fb119e363de3"
         | 
| 126 126 |  | 
| 127 127 | 
             
            [[package]]
         | 
| 128 128 | 
             
            name = "bytemuck"
         | 
| @@ -204,9 +204,9 @@ dependencies = [ | |
| 204 204 |  | 
| 205 205 | 
             
            [[package]]
         | 
| 206 206 | 
             
            name = "clap"
         | 
| 207 | 
            -
            version = "3.1 | 
| 207 | 
            +
            version = "3.2.1"
         | 
| 208 208 | 
             
            source = "registry+https://github.com/rust-lang/crates.io-index"
         | 
| 209 | 
            -
            checksum = " | 
| 209 | 
            +
            checksum = "a836566fa5f52f7ddf909a8a2f9029b9f78ca584cd95cf7e87f8073110f4c5c9"
         | 
| 210 210 | 
             
            dependencies = [
         | 
| 211 211 | 
             
             "atty",
         | 
| 212 212 | 
             
             "bitflags",
         | 
| @@ -221,9 +221,9 @@ dependencies = [ | |
| 221 221 |  | 
| 222 222 | 
             
            [[package]]
         | 
| 223 223 | 
             
            name = "clap_derive"
         | 
| 224 | 
            -
            version = "3.1 | 
| 224 | 
            +
            version = "3.2.1"
         | 
| 225 225 | 
             
            source = "registry+https://github.com/rust-lang/crates.io-index"
         | 
| 226 | 
            -
            checksum = " | 
| 226 | 
            +
            checksum = "986fd75d1dfd2c34eb8c9275ae38ad87ea9478c9b79e87f1801f7d866dfb1e37"
         | 
| 227 227 | 
             
            dependencies = [
         | 
| 228 228 | 
             
             "heck",
         | 
| 229 229 | 
             
             "proc-macro-error",
         | 
| @@ -234,9 +234,9 @@ dependencies = [ | |
| 234 234 |  | 
| 235 235 | 
             
            [[package]]
         | 
| 236 236 | 
             
            name = "clap_lex"
         | 
| 237 | 
            -
            version = "0.2. | 
| 237 | 
            +
            version = "0.2.2"
         | 
| 238 238 | 
             
            source = "registry+https://github.com/rust-lang/crates.io-index"
         | 
| 239 | 
            -
            checksum = " | 
| 239 | 
            +
            checksum = "5538cd660450ebeb4234cfecf8f2284b844ffc4c50531e66d584ad5b91293613"
         | 
| 240 240 | 
             
            dependencies = [
         | 
| 241 241 | 
             
             "os_str_bytes",
         | 
| 242 242 | 
             
            ]
         | 
| @@ -534,9 +534,9 @@ checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" | |
| 534 534 |  | 
| 535 535 | 
             
            [[package]]
         | 
| 536 536 | 
             
            name = "goblin"
         | 
| 537 | 
            -
            version = "0.5. | 
| 537 | 
            +
            version = "0.5.2"
         | 
| 538 538 | 
             
            source = "registry+https://github.com/rust-lang/crates.io-index"
         | 
| 539 | 
            -
            checksum = " | 
| 539 | 
            +
            checksum = "cfeb764aa29a0774d290c2df134a37ab2e3c1ba59009162626658aabefda321a"
         | 
| 540 540 | 
             
            dependencies = [
         | 
| 541 541 | 
             
             "log",
         | 
| 542 542 | 
             
             "plain",
         | 
| @@ -591,9 +591,9 @@ dependencies = [ | |
| 591 591 |  | 
| 592 592 | 
             
            [[package]]
         | 
| 593 593 | 
             
            name = "http"
         | 
| 594 | 
            -
            version = "0.2. | 
| 594 | 
            +
            version = "0.2.8"
         | 
| 595 595 | 
             
            source = "registry+https://github.com/rust-lang/crates.io-index"
         | 
| 596 | 
            -
            checksum = " | 
| 596 | 
            +
            checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399"
         | 
| 597 597 | 
             
            dependencies = [
         | 
| 598 598 | 
             
             "bytes",
         | 
| 599 599 | 
             
             "fnv",
         | 
| @@ -708,7 +708,7 @@ checksum = "1a3cb215599901c8f491666421d44ffaed08d6872b4c7ced6f425683b951271e" | |
| 708 708 | 
             
            dependencies = [
         | 
| 709 709 | 
             
             "ahash",
         | 
| 710 710 | 
             
             "atty",
         | 
| 711 | 
            -
             "clap 3.1 | 
| 711 | 
            +
             "clap 3.2.1",
         | 
| 712 712 | 
             
             "crossbeam-channel",
         | 
| 713 713 | 
             
             "crossbeam-utils",
         | 
| 714 714 | 
             
             "dashmap",
         | 
| @@ -848,9 +848,9 @@ dependencies = [ | |
| 848 848 |  | 
| 849 849 | 
             
            [[package]]
         | 
| 850 850 | 
             
            name = "mach2"
         | 
| 851 | 
            -
            version = "0.4. | 
| 851 | 
            +
            version = "0.4.1"
         | 
| 852 852 | 
             
            source = "registry+https://github.com/rust-lang/crates.io-index"
         | 
| 853 | 
            -
            checksum = " | 
| 853 | 
            +
            checksum = "6d0d1830bcd151a6fc4aea1369af235b36c1528fe976b8ff678683c9995eade8"
         | 
| 854 854 | 
             
            dependencies = [
         | 
| 855 855 | 
             
             "libc",
         | 
| 856 856 | 
             
            ]
         | 
| @@ -931,7 +931,7 @@ version = "0.13.0" | |
| 931 931 | 
             
            source = "registry+https://github.com/rust-lang/crates.io-index"
         | 
| 932 932 | 
             
            checksum = "e7d66043b25d4a6cccb23619d10c19c25304b355a7dccd4a8e11423dd2382146"
         | 
| 933 933 | 
             
            dependencies = [
         | 
| 934 | 
            -
             "clap 3.1 | 
| 934 | 
            +
             "clap 3.2.1",
         | 
| 935 935 | 
             
             "rand 0.8.5",
         | 
| 936 936 | 
             
            ]
         | 
| 937 937 |  | 
| @@ -1083,9 +1083,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" | |
| 1083 1083 |  | 
| 1084 1084 | 
             
            [[package]]
         | 
| 1085 1085 | 
             
            name = "openssl-sys"
         | 
| 1086 | 
            -
            version = "0.9. | 
| 1086 | 
            +
            version = "0.9.74"
         | 
| 1087 1087 | 
             
            source = "registry+https://github.com/rust-lang/crates.io-index"
         | 
| 1088 | 
            -
            checksum = " | 
| 1088 | 
            +
            checksum = "835363342df5fba8354c5b453325b110ffd54044e588c539cf2f20a8014e4cb1"
         | 
| 1089 1089 | 
             
            dependencies = [
         | 
| 1090 1090 | 
             
             "autocfg",
         | 
| 1091 1091 | 
             
             "cc",
         | 
| @@ -1240,9 +1240,9 @@ dependencies = [ | |
| 1240 1240 |  | 
| 1241 1241 | 
             
            [[package]]
         | 
| 1242 1242 | 
             
            name = "pyroscope_rbspy"
         | 
| 1243 | 
            -
            version = "0.2. | 
| 1243 | 
            +
            version = "0.2.1"
         | 
| 1244 1244 | 
             
            source = "registry+https://github.com/rust-lang/crates.io-index"
         | 
| 1245 | 
            -
            checksum = " | 
| 1245 | 
            +
            checksum = "3359aa2a37be1fd6fa096cb1b73380c3f8b975346d5b3423f7a4f559acb9ba0a"
         | 
| 1246 1246 | 
             
            dependencies = [
         | 
| 1247 1247 | 
             
             "anyhow",
         | 
| 1248 1248 | 
             
             "log",
         | 
| @@ -1343,7 +1343,7 @@ checksum = "bcbebdf0037de5a92722b0bca2965ce0a76cd5c962225cf355e31ac668ea653f" | |
| 1343 1343 | 
             
            dependencies = [
         | 
| 1344 1344 | 
             
             "anyhow",
         | 
| 1345 1345 | 
             
             "chrono",
         | 
| 1346 | 
            -
             "clap 3.1 | 
| 1346 | 
            +
             "clap 3.2.1",
         | 
| 1347 1347 | 
             
             "ctrlc",
         | 
| 1348 1348 | 
             
             "directories",
         | 
| 1349 1349 | 
             
             "elf",
         | 
| @@ -1386,8 +1386,7 @@ dependencies = [ | |
| 1386 1386 | 
             
            [[package]]
         | 
| 1387 1387 | 
             
            name = "read-process-memory"
         | 
| 1388 1388 | 
             
            version = "0.1.4"
         | 
| 1389 | 
            -
            source = " | 
| 1390 | 
            -
            checksum = "a103589f0c267c68328595f1ff45647e9d4b3ee6b9c1c51dcdc9b4b55ca504c5"
         | 
| 1389 | 
            +
            source = "git+https://github.com/omarabid/read-process-memory.git?branch=0.1.4-fix#51a5122d0d084478cc7563414255392e8f026971"
         | 
| 1391 1390 | 
             
            dependencies = [
         | 
| 1392 1391 | 
             
             "libc",
         | 
| 1393 1392 | 
             
             "log",
         | 
| @@ -1758,9 +1757,9 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" | |
| 1758 1757 |  | 
| 1759 1758 | 
             
            [[package]]
         | 
| 1760 1759 | 
             
            name = "syn"
         | 
| 1761 | 
            -
            version = "1.0. | 
| 1760 | 
            +
            version = "1.0.96"
         | 
| 1762 1761 | 
             
            source = "registry+https://github.com/rust-lang/crates.io-index"
         | 
| 1763 | 
            -
            checksum = " | 
| 1762 | 
            +
            checksum = "0748dd251e24453cb8717f0354206b91557e4ec8703673a4b30208f2abaf1ebf"
         | 
| 1764 1763 | 
             
            dependencies = [
         | 
| 1765 1764 | 
             
             "proc-macro2",
         | 
| 1766 1765 | 
             
             "quote",
         | 
| @@ -1873,9 +1872,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" | |
| 1873 1872 |  | 
| 1874 1873 | 
             
            [[package]]
         | 
| 1875 1874 | 
             
            name = "tokio"
         | 
| 1876 | 
            -
            version = "1. | 
| 1875 | 
            +
            version = "1.19.2"
         | 
| 1877 1876 | 
             
            source = "registry+https://github.com/rust-lang/crates.io-index"
         | 
| 1878 | 
            -
            checksum = " | 
| 1877 | 
            +
            checksum = "c51a52ed6686dd62c320f9b89299e9dfb46f730c7a48e635c19f21d116cb1439"
         | 
| 1879 1878 | 
             
            dependencies = [
         | 
| 1880 1879 | 
             
             "bytes",
         | 
| 1881 1880 | 
             
             "libc",
         | 
| @@ -1911,9 +1910,9 @@ dependencies = [ | |
| 1911 1910 |  | 
| 1912 1911 | 
             
            [[package]]
         | 
| 1913 1912 | 
             
            name = "tokio-util"
         | 
| 1914 | 
            -
            version = "0.7. | 
| 1913 | 
            +
            version = "0.7.3"
         | 
| 1915 1914 | 
             
            source = "registry+https://github.com/rust-lang/crates.io-index"
         | 
| 1916 | 
            -
            checksum = " | 
| 1915 | 
            +
            checksum = "cc463cd8deddc3770d20f9852143d50bf6094e640b485cb2e189a2099085ff45"
         | 
| 1917 1916 | 
             
            dependencies = [
         | 
| 1918 1917 | 
             
             "bytes",
         | 
| 1919 1918 | 
             
             "futures-core",
         | 
| @@ -1931,34 +1930,22 @@ checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6" | |
| 1931 1930 |  | 
| 1932 1931 | 
             
            [[package]]
         | 
| 1933 1932 | 
             
            name = "tracing"
         | 
| 1934 | 
            -
            version = "0.1. | 
| 1933 | 
            +
            version = "0.1.35"
         | 
| 1935 1934 | 
             
            source = "registry+https://github.com/rust-lang/crates.io-index"
         | 
| 1936 | 
            -
            checksum = " | 
| 1935 | 
            +
            checksum = "a400e31aa60b9d44a52a8ee0343b5b18566b03a8321e0d321f695cf56e940160"
         | 
| 1937 1936 | 
             
            dependencies = [
         | 
| 1938 1937 | 
             
             "cfg-if",
         | 
| 1939 1938 | 
             
             "pin-project-lite",
         | 
| 1940 | 
            -
             "tracing-attributes",
         | 
| 1941 1939 | 
             
             "tracing-core",
         | 
| 1942 1940 | 
             
            ]
         | 
| 1943 1941 |  | 
| 1944 | 
            -
            [[package]]
         | 
| 1945 | 
            -
            name = "tracing-attributes"
         | 
| 1946 | 
            -
            version = "0.1.21"
         | 
| 1947 | 
            -
            source = "registry+https://github.com/rust-lang/crates.io-index"
         | 
| 1948 | 
            -
            checksum = "cc6b8ad3567499f98a1db7a752b07a7c8c7c7c34c332ec00effb2b0027974b7c"
         | 
| 1949 | 
            -
            dependencies = [
         | 
| 1950 | 
            -
             "proc-macro2",
         | 
| 1951 | 
            -
             "quote",
         | 
| 1952 | 
            -
             "syn",
         | 
| 1953 | 
            -
            ]
         | 
| 1954 | 
            -
             | 
| 1955 1942 | 
             
            [[package]]
         | 
| 1956 1943 | 
             
            name = "tracing-core"
         | 
| 1957 | 
            -
            version = "0.1. | 
| 1944 | 
            +
            version = "0.1.27"
         | 
| 1958 1945 | 
             
            source = "registry+https://github.com/rust-lang/crates.io-index"
         | 
| 1959 | 
            -
            checksum = " | 
| 1946 | 
            +
            checksum = "7709595b8878a4965ce5e87ebf880a7d39c9afc6837721b21a5a816a8117d921"
         | 
| 1960 1947 | 
             
            dependencies = [
         | 
| 1961 | 
            -
             " | 
| 1948 | 
            +
             "once_cell",
         | 
| 1962 1949 | 
             
            ]
         | 
| 1963 1950 |  | 
| 1964 1951 | 
             
            [[package]]
         | 
    
        data/ext/rbspy/Cargo.toml
    CHANGED
    
    
    
        data/ext/rbspy/Rakefile
    CHANGED
    
    | @@ -20,6 +20,10 @@ class RbspyRakeCargoHelper | |
| 20 20 | 
             
              end
         | 
| 21 21 |  | 
| 22 22 | 
             
              def self.rust_toolchain
         | 
| 23 | 
            +
                # return env variable if set
         | 
| 24 | 
            +
                target = ENV["RUST_TARGET"]
         | 
| 25 | 
            +
                return target if target
         | 
| 26 | 
            +
             | 
| 23 27 | 
             
                str = `rustc --version --verbose`
         | 
| 24 28 | 
             
                info = str.lines.map {|l| l.chomp.split(/:\s+/, 2)}.drop(1).to_h
         | 
| 25 29 | 
             
                info["host"]
         | 
| @@ -45,7 +49,8 @@ class RbspyRakeCargoHelper | |
| 45 49 | 
             
                  *cc_flags.flat_map {|a| ["-C", "link-arg=#{a}"] },
         | 
| 46 50 | 
             
                  "-L", "native=#{RbConfig::CONFIG["libdir"]}",
         | 
| 47 51 | 
             
                  *dld_flags,
         | 
| 48 | 
            -
                  *platform_flags | 
| 52 | 
            +
                  *platform_flags,
         | 
| 53 | 
            +
                ]
         | 
| 49 54 | 
             
              end
         | 
| 50 55 |  | 
| 51 56 | 
             
              def self.dld_flags
         | 
| @@ -116,7 +121,8 @@ desc "build gem native extension and copy to lib" | |
| 116 121 | 
             
            task rbspy_install: [:rbspy_cd, :rbspy_build] do
         | 
| 117 122 | 
             
              helper = RbspyRakeCargoHelper.new
         | 
| 118 123 | 
             
              profile_dir = @dev ? "debug" : "release"
         | 
| 119 | 
            -
               | 
| 124 | 
            +
              arch_dir = RbspyRakeCargoHelper.rust_toolchain
         | 
| 125 | 
            +
              source = File.join(RbspyRakeCargoHelper.cargo_target_dir, arch_dir, profile_dir, helper.rust_name)
         | 
| 120 126 | 
             
              dest = File.join(helper.install_dir, helper.ruby_name)
         | 
| 121 127 | 
             
              mkdir_p(helper.install_dir)
         | 
| 122 128 | 
             
              rm(dest) if File.exist?(dest)
         | 
| @@ -125,7 +131,7 @@ end | |
| 125 131 |  | 
| 126 132 | 
             
            desc "build gem native extension"
         | 
| 127 133 | 
             
            task rbspy_build: [:rbspy_cargo, :rbspy_cd] do
         | 
| 128 | 
            -
              sh "cargo", "rustc", *(["--locked", "--release"] unless @dev), "--", *RbspyRakeCargoHelper.flags
         | 
| 134 | 
            +
              sh "cargo", "rustc", *(["--locked", "--release"] unless @dev), "--target=#{RbspyRakeCargoHelper.rust_toolchain}", "--", *RbspyRakeCargoHelper.flags
         | 
| 129 135 | 
             
            end
         | 
| 130 136 |  | 
| 131 137 | 
             
            desc "clean up release build artifacts"
         | 
    
        data/ext/rbspy/src/lib.rs
    CHANGED
    
    | @@ -36,17 +36,24 @@ fn signalpass() -> &'static SignalPass { | |
| 36 36 |  | 
| 37 37 | 
             
            #[no_mangle]
         | 
| 38 38 | 
             
            pub extern "C" fn initialize_agent(
         | 
| 39 | 
            -
                application_name: *const c_char, server_address: *const c_char,  | 
| 40 | 
            -
                detect_subprocesses: bool, tags: *const c_char,
         | 
| 39 | 
            +
                application_name: *const c_char, server_address: *const c_char, auth_token: *const c_char,
         | 
| 40 | 
            +
                sample_rate: u32, detect_subprocesses: bool, tags: *const c_char,
         | 
| 41 41 | 
             
            ) -> bool {
         | 
| 42 42 | 
             
                let application_name = unsafe { CStr::from_ptr(application_name) }
         | 
| 43 43 | 
             
                    .to_str()
         | 
| 44 44 | 
             
                    .unwrap()
         | 
| 45 45 | 
             
                    .to_string();
         | 
| 46 | 
            +
             | 
| 46 47 | 
             
                let server_address = unsafe { CStr::from_ptr(server_address) }
         | 
| 47 48 | 
             
                    .to_str()
         | 
| 48 49 | 
             
                    .unwrap()
         | 
| 49 50 | 
             
                    .to_string();
         | 
| 51 | 
            +
             | 
| 52 | 
            +
                let auth_token = unsafe { CStr::from_ptr(auth_token) }
         | 
| 53 | 
            +
                    .to_str()
         | 
| 54 | 
            +
                    .unwrap()
         | 
| 55 | 
            +
                    .to_string();
         | 
| 56 | 
            +
             | 
| 50 57 | 
             
                let tags_string = unsafe { CStr::from_ptr(tags) }
         | 
| 51 58 | 
             
                    .to_str()
         | 
| 52 59 | 
             
                    .unwrap()
         | 
| @@ -65,11 +72,16 @@ pub extern "C" fn initialize_agent( | |
| 65 72 | 
             
                    let tags_ref = tags_string.as_str();
         | 
| 66 73 | 
             
                    let tags = string_to_tags(tags_ref);
         | 
| 67 74 | 
             
                    let rbspy = rbspy_backend(rbspy_config);
         | 
| 68 | 
            -
             | 
| 75 | 
            +
             | 
| 76 | 
            +
                    let mut agent_builder = PyroscopeAgent::builder(server_address, application_name)
         | 
| 69 77 | 
             
                        .backend(rbspy)
         | 
| 70 | 
            -
                        .tags(tags)
         | 
| 71 | 
            -
             | 
| 72 | 
            -
             | 
| 78 | 
            +
                        .tags(tags);
         | 
| 79 | 
            +
             | 
| 80 | 
            +
                    if auth_token != "" {
         | 
| 81 | 
            +
                        agent_builder = agent_builder.auth_token(auth_token);
         | 
| 82 | 
            +
                    }
         | 
| 83 | 
            +
             | 
| 84 | 
            +
                    let agent = agent_builder.build().unwrap();
         | 
| 73 85 |  | 
| 74 86 | 
             
                    let agent_running = agent.start().unwrap();
         | 
| 75 87 |  | 
    
        data/ext/thread_id/Rakefile
    CHANGED
    
    | @@ -20,6 +20,10 @@ class ThreadIdRakeCargoHelper | |
| 20 20 | 
             
              end
         | 
| 21 21 |  | 
| 22 22 | 
             
              def self.rust_toolchain
         | 
| 23 | 
            +
                # return env variable if set
         | 
| 24 | 
            +
                target = ENV["RUST_TARGET"]
         | 
| 25 | 
            +
                return target if target
         | 
| 26 | 
            +
             | 
| 23 27 | 
             
                str = `rustc --version --verbose`
         | 
| 24 28 | 
             
                info = str.lines.map {|l| l.chomp.split(/:\s+/, 2)}.drop(1).to_h
         | 
| 25 29 | 
             
                info["host"]
         | 
| @@ -116,7 +120,8 @@ desc "build gem native extension and copy to lib" | |
| 116 120 | 
             
            task thread_id_install: [:thread_id_cd, :thread_id_build] do
         | 
| 117 121 | 
             
              helper = ThreadIdRakeCargoHelper.new
         | 
| 118 122 | 
             
              profile_dir = @dev ? "debug" : "release"
         | 
| 119 | 
            -
               | 
| 123 | 
            +
              arch_dir = RbspyRakeCargoHelper.rust_toolchain
         | 
| 124 | 
            +
              source = File.join(ThreadIdRakeCargoHelper.cargo_target_dir, arch_dir, profile_dir, helper.rust_name)
         | 
| 120 125 | 
             
              dest = File.join(helper.install_dir, helper.ruby_name)
         | 
| 121 126 | 
             
              mkdir_p(helper.install_dir)
         | 
| 122 127 | 
             
              rm(dest) if File.exist?(dest)
         | 
| @@ -125,7 +130,7 @@ end | |
| 125 130 |  | 
| 126 131 | 
             
            desc "build gem native extension"
         | 
| 127 132 | 
             
            task thread_id_build: [:thread_id_cargo, :thread_id_cd] do
         | 
| 128 | 
            -
              sh "cargo", "rustc", *(["--locked", "--release"] unless @dev), "--", * | 
| 133 | 
            +
              sh "cargo", "rustc", *(["--locked", "--release"] unless @dev), "--target=#{RbspyRakeCargoHelper.rust_toolchain}", "--", *RbspyRakeCargoHelper.flags
         | 
| 129 134 | 
             
            end
         | 
| 130 135 |  | 
| 131 136 | 
             
            desc "clean up release build artifacts"
         | 
    
        data/lib/pyroscope/version.rb
    CHANGED
    
    
    
        data/lib/pyroscope_beta.rb
    CHANGED
    
    | @@ -1,24 +1,27 @@ | |
| 1 1 | 
             
            require 'ffi'
         | 
| 2 | 
            -
            require 'fiddle'
         | 
| 3 | 
            -
             | 
| 4 | 
            -
            $libm = Fiddle.dlopen(File.expand_path(File.dirname(__FILE__)) + "/thread_id/thread_id.#{RbConfig::CONFIG["DLEXT"]}")
         | 
| 5 | 
            -
             | 
| 6 2 |  | 
| 7 3 | 
             
            module Rust
         | 
| 8 4 | 
             
              extend FFI::Library
         | 
| 9 5 | 
             
              ffi_lib File.expand_path(File.dirname(__FILE__)) + "/rbspy/rbspy.#{RbConfig::CONFIG["DLEXT"]}"
         | 
| 10 | 
            -
              attach_function :initialize_agent, [:string, :string, :int, :bool, :string], :bool
         | 
| 6 | 
            +
              attach_function :initialize_agent, [:string, :string, :string, :int, :bool, :string], :bool
         | 
| 11 7 | 
             
              attach_function :add_tag, [:uint64, :string, :string], :bool
         | 
| 12 8 | 
             
              attach_function :remove_tag, [:uint64, :string, :string], :bool
         | 
| 13 9 | 
             
              attach_function :drop_agent, [], :bool
         | 
| 14 10 | 
             
            end
         | 
| 15 11 |  | 
| 12 | 
            +
            module Utils
         | 
| 13 | 
            +
                 extend FFI::Library
         | 
| 14 | 
            +
                 ffi_lib File.expand_path(File.dirname(__FILE__)) + "/thread_id/thread_id.#{RbConfig::CONFIG["DLEXT"]}"
         | 
| 15 | 
            +
                 attach_function :thread_id, [], :uint64
         | 
| 16 | 
            +
            end
         | 
| 17 | 
            +
             | 
| 16 18 | 
             
            module Pyroscope
         | 
| 17 | 
            -
              Config = Struct.new(:application_name, :server_address, :sample_rate, :detect_subprocesses, :log_level, :tags) do
         | 
| 19 | 
            +
              Config = Struct.new(:application_name, :server_address, :auth_token, :sample_rate, :detect_subprocesses, :log_level, :tags) do
         | 
| 18 20 | 
             
                def initialize(*)
         | 
| 19 21 | 
             
                  super
         | 
| 20 22 | 
             
                  self.application_name ||= ''
         | 
| 21 23 | 
             
                  self.server_address ||= 'http://localhost:4040'
         | 
| 24 | 
            +
                  self.auth_token ||= ''
         | 
| 22 25 | 
             
                  self.sample_rate ||= 100
         | 
| 23 26 | 
             
                  self.detect_subprocesses ||= true
         | 
| 24 27 | 
             
                  self.log_level ||= 'info'
         | 
| @@ -36,6 +39,7 @@ module Pyroscope | |
| 36 39 | 
             
                  Rust.initialize_agent(
         | 
| 37 40 | 
             
                    @config.application_name,
         | 
| 38 41 | 
             
                    @config.server_address,
         | 
| 42 | 
            +
                    @config.auth_token,
         | 
| 39 43 | 
             
                    @config.sample_rate,
         | 
| 40 44 | 
             
                    @config.detect_subprocesses,
         | 
| 41 45 | 
             
                    tags_to_string(@config.tags)
         | 
| @@ -66,8 +70,7 @@ end | |
| 66 70 |  | 
| 67 71 | 
             
            # get thread id
         | 
| 68 72 | 
             
            def thread_id
         | 
| 69 | 
            -
               | 
| 70 | 
            -
              thread_id.call
         | 
| 73 | 
            +
              return Utils.thread_id()
         | 
| 71 74 | 
             
            end
         | 
| 72 75 |  | 
| 73 76 | 
             
            # add tags
         | 
    
        data/lib/rbspy/rbspy.bundle
    CHANGED
    
    | Binary file | 
| Binary file | 
    
        data/pyroscope.gemspec
    CHANGED
    
    | @@ -21,23 +21,12 @@ Gem::Specification.new do |s| | |
| 21 21 |  | 
| 22 22 | 
             
              s.platform = Gem::Platform::RUBY
         | 
| 23 23 |  | 
| 24 | 
            -
              s.required_ruby_version = ">= 2. | 
| 24 | 
            +
              s.required_ruby_version = ">= 2.5.9"
         | 
| 25 25 |  | 
| 26 26 | 
             
              s.extensions = ['ext/rbspy/extconf.rb', 'ext/thread_id/extconf.rb']
         | 
| 27 27 |  | 
| 28 | 
            -
              s.add_dependency 'ffi' | 
| 29 | 
            -
              s.add_dependency 'fiddle', '~> 1.1'
         | 
| 28 | 
            +
              s.add_dependency 'ffi'
         | 
| 30 29 |  | 
| 31 30 | 
             
              s.add_development_dependency 'bundler'
         | 
| 32 | 
            -
              s.add_development_dependency 'github-release'
         | 
| 33 | 
            -
              s.add_development_dependency 'guard-rspec'
         | 
| 34 31 | 
             
              s.add_development_dependency 'rake', '~> 13.0'
         | 
| 35 | 
            -
              s.add_development_dependency 'rake-compiler', '~> 1.2'
         | 
| 36 | 
            -
              s.add_development_dependency 'rake-compiler-dock', '~> 1.2'
         | 
| 37 | 
            -
              s.add_development_dependency 'rb-inotify', '~> 0.9'
         | 
| 38 | 
            -
              s.add_development_dependency 'rb_sys', '~> 0.1'
         | 
| 39 | 
            -
              s.add_development_dependency 'redcarpet'
         | 
| 40 | 
            -
              s.add_development_dependency 'rspec'
         | 
| 41 | 
            -
              s.add_development_dependency 'simplecov'
         | 
| 42 | 
            -
              s.add_development_dependency 'yard'
         | 
| 43 32 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,65 +1,23 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: pyroscope_beta
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.2.2
         | 
| 5 5 | 
             
            platform: x86_64-darwin
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Pyroscope Team
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2022-06- | 
| 11 | 
            +
            date: 2022-06-13 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: ffi
         | 
| 15 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 16 | 
            -
                requirements:
         | 
| 17 | 
            -
                - - "~>"
         | 
| 18 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            -
                    version: '1.9'
         | 
| 20 | 
            -
              type: :runtime
         | 
| 21 | 
            -
              prerelease: false
         | 
| 22 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 | 
            -
                requirements:
         | 
| 24 | 
            -
                - - "~>"
         | 
| 25 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 26 | 
            -
                    version: '1.9'
         | 
| 27 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 28 | 
            -
              name: fiddle
         | 
| 29 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 30 | 
            -
                requirements:
         | 
| 31 | 
            -
                - - "~>"
         | 
| 32 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 33 | 
            -
                    version: '1.1'
         | 
| 34 | 
            -
              type: :runtime
         | 
| 35 | 
            -
              prerelease: false
         | 
| 36 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 37 | 
            -
                requirements:
         | 
| 38 | 
            -
                - - "~>"
         | 
| 39 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 40 | 
            -
                    version: '1.1'
         | 
| 41 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 42 | 
            -
              name: bundler
         | 
| 43 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 44 | 
            -
                requirements:
         | 
| 45 | 
            -
                - - ">="
         | 
| 46 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 47 | 
            -
                    version: '0'
         | 
| 48 | 
            -
              type: :development
         | 
| 49 | 
            -
              prerelease: false
         | 
| 50 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 51 | 
            -
                requirements:
         | 
| 52 | 
            -
                - - ">="
         | 
| 53 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 54 | 
            -
                    version: '0'
         | 
| 55 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 56 | 
            -
              name: github-release
         | 
| 57 15 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 58 16 | 
             
                requirements:
         | 
| 59 17 | 
             
                - - ">="
         | 
| 60 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| 61 19 | 
             
                    version: '0'
         | 
| 62 | 
            -
              type: : | 
| 20 | 
            +
              type: :runtime
         | 
| 63 21 | 
             
              prerelease: false
         | 
| 64 22 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 65 23 | 
             
                requirements:
         | 
| @@ -67,7 +25,7 @@ dependencies: | |
| 67 25 | 
             
                  - !ruby/object:Gem::Version
         | 
| 68 26 | 
             
                    version: '0'
         | 
| 69 27 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 70 | 
            -
              name:  | 
| 28 | 
            +
              name: bundler
         | 
| 71 29 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 72 30 | 
             
                requirements:
         | 
| 73 31 | 
             
                - - ">="
         | 
| @@ -94,118 +52,6 @@ dependencies: | |
| 94 52 | 
             
                - - "~>"
         | 
| 95 53 | 
             
                  - !ruby/object:Gem::Version
         | 
| 96 54 | 
             
                    version: '13.0'
         | 
| 97 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 98 | 
            -
              name: rake-compiler
         | 
| 99 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 100 | 
            -
                requirements:
         | 
| 101 | 
            -
                - - "~>"
         | 
| 102 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 103 | 
            -
                    version: '1.2'
         | 
| 104 | 
            -
              type: :development
         | 
| 105 | 
            -
              prerelease: false
         | 
| 106 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 107 | 
            -
                requirements:
         | 
| 108 | 
            -
                - - "~>"
         | 
| 109 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 110 | 
            -
                    version: '1.2'
         | 
| 111 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 112 | 
            -
              name: rake-compiler-dock
         | 
| 113 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 114 | 
            -
                requirements:
         | 
| 115 | 
            -
                - - "~>"
         | 
| 116 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 117 | 
            -
                    version: '1.2'
         | 
| 118 | 
            -
              type: :development
         | 
| 119 | 
            -
              prerelease: false
         | 
| 120 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 121 | 
            -
                requirements:
         | 
| 122 | 
            -
                - - "~>"
         | 
| 123 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 124 | 
            -
                    version: '1.2'
         | 
| 125 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 126 | 
            -
              name: rb-inotify
         | 
| 127 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 128 | 
            -
                requirements:
         | 
| 129 | 
            -
                - - "~>"
         | 
| 130 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 131 | 
            -
                    version: '0.9'
         | 
| 132 | 
            -
              type: :development
         | 
| 133 | 
            -
              prerelease: false
         | 
| 134 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 135 | 
            -
                requirements:
         | 
| 136 | 
            -
                - - "~>"
         | 
| 137 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 138 | 
            -
                    version: '0.9'
         | 
| 139 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 140 | 
            -
              name: rb_sys
         | 
| 141 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 142 | 
            -
                requirements:
         | 
| 143 | 
            -
                - - "~>"
         | 
| 144 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 145 | 
            -
                    version: '0.1'
         | 
| 146 | 
            -
              type: :development
         | 
| 147 | 
            -
              prerelease: false
         | 
| 148 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 149 | 
            -
                requirements:
         | 
| 150 | 
            -
                - - "~>"
         | 
| 151 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 152 | 
            -
                    version: '0.1'
         | 
| 153 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 154 | 
            -
              name: redcarpet
         | 
| 155 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 156 | 
            -
                requirements:
         | 
| 157 | 
            -
                - - ">="
         | 
| 158 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 159 | 
            -
                    version: '0'
         | 
| 160 | 
            -
              type: :development
         | 
| 161 | 
            -
              prerelease: false
         | 
| 162 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 163 | 
            -
                requirements:
         | 
| 164 | 
            -
                - - ">="
         | 
| 165 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 166 | 
            -
                    version: '0'
         | 
| 167 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 168 | 
            -
              name: rspec
         | 
| 169 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 170 | 
            -
                requirements:
         | 
| 171 | 
            -
                - - ">="
         | 
| 172 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 173 | 
            -
                    version: '0'
         | 
| 174 | 
            -
              type: :development
         | 
| 175 | 
            -
              prerelease: false
         | 
| 176 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 177 | 
            -
                requirements:
         | 
| 178 | 
            -
                - - ">="
         | 
| 179 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 180 | 
            -
                    version: '0'
         | 
| 181 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 182 | 
            -
              name: simplecov
         | 
| 183 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 184 | 
            -
                requirements:
         | 
| 185 | 
            -
                - - ">="
         | 
| 186 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 187 | 
            -
                    version: '0'
         | 
| 188 | 
            -
              type: :development
         | 
| 189 | 
            -
              prerelease: false
         | 
| 190 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 191 | 
            -
                requirements:
         | 
| 192 | 
            -
                - - ">="
         | 
| 193 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 194 | 
            -
                    version: '0'
         | 
| 195 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 196 | 
            -
              name: yard
         | 
| 197 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 198 | 
            -
                requirements:
         | 
| 199 | 
            -
                - - ">="
         | 
| 200 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 201 | 
            -
                    version: '0'
         | 
| 202 | 
            -
              type: :development
         | 
| 203 | 
            -
              prerelease: false
         | 
| 204 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 205 | 
            -
                requirements:
         | 
| 206 | 
            -
                - - ">="
         | 
| 207 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 208 | 
            -
                    version: '0'
         | 
| 209 55 | 
             
            description: Pyroscope FFI Integration for Ruby
         | 
| 210 56 | 
             
            email:
         | 
| 211 57 | 
             
            - contact@pyroscope.io
         | 
| @@ -242,7 +88,7 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 242 88 | 
             
              requirements:
         | 
| 243 89 | 
             
              - - ">="
         | 
| 244 90 | 
             
                - !ruby/object:Gem::Version
         | 
| 245 | 
            -
                  version: 2. | 
| 91 | 
            +
                  version: 2.5.9
         | 
| 246 92 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 247 93 | 
             
              requirements:
         | 
| 248 94 | 
             
              - - ">="
         |