pyroscope 0.5.2-x86_64-darwin → 0.5.4-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 +325 -389
- data/ext/rbspy/Cargo.toml +1 -0
- data/ext/rbspy/src/lib.rs +63 -4
- data/ext/thread_id/Cargo.lock +233 -36
- data/lib/pyroscope/version.rb +1 -1
- data/lib/pyroscope.rb +20 -2
- data/lib/rbspy/rbspy.bundle +0 -0
- data/lib/thread_id/thread_id.bundle +0 -0
- metadata +2 -2
data/ext/rbspy/Cargo.toml
CHANGED
data/ext/rbspy/src/lib.rs
CHANGED
@@ -8,10 +8,14 @@ use std::str::FromStr;
|
|
8
8
|
use ffikit::Signal;
|
9
9
|
use pyroscope_rbspy::{rbspy_backend, RbspyConfig};
|
10
10
|
|
11
|
+
use pyroscope;
|
11
12
|
use pyroscope::{pyroscope::Compression, PyroscopeAgent};
|
12
13
|
use pyroscope::backend::{Report, StackFrame, Tag};
|
13
14
|
use pyroscope::pyroscope::ReportEncoding;
|
14
15
|
|
16
|
+
const LOG_TAG: &str = "Pyroscope::rbspy::ffi";
|
17
|
+
|
18
|
+
|
15
19
|
pub fn transform_report(report: Report) -> Report {
|
16
20
|
let cwd = env::current_dir().unwrap();
|
17
21
|
let cwd = cwd.to_str().unwrap_or("");
|
@@ -106,10 +110,21 @@ pub extern "C" fn initialize_logging(logging_level: u32) -> bool {
|
|
106
110
|
|
107
111
|
#[no_mangle]
|
108
112
|
pub extern "C" fn initialize_agent(
|
109
|
-
application_name: *const c_char,
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
+
application_name: *const c_char,
|
114
|
+
server_address: *const c_char,
|
115
|
+
auth_token: *const c_char,
|
116
|
+
basic_auth_user: *const c_char,
|
117
|
+
basic_auth_password: *const c_char,
|
118
|
+
sample_rate: u32,
|
119
|
+
detect_subprocesses: bool,
|
120
|
+
oncpu: bool,
|
121
|
+
report_pid: bool,
|
122
|
+
report_thread_id: bool,
|
123
|
+
tags: *const c_char,
|
124
|
+
compression: *const c_char,
|
125
|
+
report_encoding: *const c_char,
|
126
|
+
scope_org_id: *const c_char,
|
127
|
+
http_headers_json: *const c_char,
|
113
128
|
) -> bool {
|
114
129
|
// Initialize FFIKit
|
115
130
|
let recv = ffikit::initialize_ffi().unwrap();
|
@@ -129,6 +144,16 @@ pub extern "C" fn initialize_agent(
|
|
129
144
|
.unwrap()
|
130
145
|
.to_string();
|
131
146
|
|
147
|
+
let basic_auth_user = unsafe { CStr::from_ptr(basic_auth_user) }
|
148
|
+
.to_str()
|
149
|
+
.unwrap()
|
150
|
+
.to_string();
|
151
|
+
|
152
|
+
let basic_auth_password = unsafe { CStr::from_ptr(basic_auth_password) }
|
153
|
+
.to_str()
|
154
|
+
.unwrap()
|
155
|
+
.to_string();
|
156
|
+
|
132
157
|
let tags_string = unsafe { CStr::from_ptr(tags) }
|
133
158
|
.to_str()
|
134
159
|
.unwrap()
|
@@ -144,6 +169,16 @@ pub extern "C" fn initialize_agent(
|
|
144
169
|
.unwrap()
|
145
170
|
.to_string();
|
146
171
|
|
172
|
+
let scope_org_id = unsafe { CStr::from_ptr(scope_org_id) }
|
173
|
+
.to_str()
|
174
|
+
.unwrap()
|
175
|
+
.to_string();
|
176
|
+
|
177
|
+
let http_headers_json = unsafe { CStr::from_ptr(http_headers_json) }
|
178
|
+
.to_str()
|
179
|
+
.unwrap()
|
180
|
+
.to_string();
|
181
|
+
|
147
182
|
let compression = Compression::from_str(&compression_string);
|
148
183
|
let report_encoding = ReportEncoding::from_str(&report_encoding)
|
149
184
|
.unwrap_or(ReportEncoding::FOLDED);
|
@@ -170,6 +205,30 @@ pub extern "C" fn initialize_agent(
|
|
170
205
|
|
171
206
|
if auth_token != "" {
|
172
207
|
agent_builder = agent_builder.auth_token(auth_token);
|
208
|
+
} else if basic_auth_user != "" && basic_auth_password != "" {
|
209
|
+
agent_builder = agent_builder.basic_auth(basic_auth_user, basic_auth_password);
|
210
|
+
}
|
211
|
+
|
212
|
+
if scope_org_id != "" {
|
213
|
+
agent_builder = agent_builder.scope_org_id(scope_org_id);
|
214
|
+
}
|
215
|
+
|
216
|
+
let http_headers = pyroscope::pyroscope::parse_http_headers_json(http_headers_json);
|
217
|
+
match http_headers {
|
218
|
+
Ok(http_headers) => {
|
219
|
+
agent_builder = agent_builder.http_headers(http_headers);
|
220
|
+
}
|
221
|
+
Err(e) => {
|
222
|
+
match e {
|
223
|
+
pyroscope::PyroscopeError::Json(e) => {
|
224
|
+
log::error!(target: LOG_TAG, "parse_http_headers_json error {}", e);
|
225
|
+
}
|
226
|
+
pyroscope::PyroscopeError::AdHoc(e) => {
|
227
|
+
log::error!(target: LOG_TAG, "parse_http_headers_json {}", e);
|
228
|
+
}
|
229
|
+
_ => {}
|
230
|
+
}
|
231
|
+
}
|
173
232
|
}
|
174
233
|
|
175
234
|
if let Ok(compression) = compression {
|
data/ext/thread_id/Cargo.lock
CHANGED
@@ -17,7 +17,7 @@ version = "0.2.14"
|
|
17
17
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
18
18
|
checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
|
19
19
|
dependencies = [
|
20
|
-
"hermit-abi",
|
20
|
+
"hermit-abi 0.1.19",
|
21
21
|
"libc",
|
22
22
|
"winapi",
|
23
23
|
]
|
@@ -48,11 +48,17 @@ dependencies = [
|
|
48
48
|
"quote",
|
49
49
|
"serde",
|
50
50
|
"serde_json",
|
51
|
-
"syn",
|
51
|
+
"syn 1.0.109",
|
52
52
|
"tempfile",
|
53
53
|
"toml",
|
54
54
|
]
|
55
55
|
|
56
|
+
[[package]]
|
57
|
+
name = "cc"
|
58
|
+
version = "1.0.79"
|
59
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
60
|
+
checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
|
61
|
+
|
56
62
|
[[package]]
|
57
63
|
name = "cfg-if"
|
58
64
|
version = "1.0.0"
|
@@ -74,6 +80,27 @@ dependencies = [
|
|
74
80
|
"vec_map",
|
75
81
|
]
|
76
82
|
|
83
|
+
[[package]]
|
84
|
+
name = "errno"
|
85
|
+
version = "0.3.1"
|
86
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
87
|
+
checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
|
88
|
+
dependencies = [
|
89
|
+
"errno-dragonfly",
|
90
|
+
"libc",
|
91
|
+
"windows-sys 0.48.0",
|
92
|
+
]
|
93
|
+
|
94
|
+
[[package]]
|
95
|
+
name = "errno-dragonfly"
|
96
|
+
version = "0.1.2"
|
97
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
98
|
+
checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
|
99
|
+
dependencies = [
|
100
|
+
"cc",
|
101
|
+
"libc",
|
102
|
+
]
|
103
|
+
|
77
104
|
[[package]]
|
78
105
|
name = "fastrand"
|
79
106
|
version = "1.9.0"
|
@@ -107,11 +134,17 @@ dependencies = [
|
|
107
134
|
"libc",
|
108
135
|
]
|
109
136
|
|
137
|
+
[[package]]
|
138
|
+
name = "hermit-abi"
|
139
|
+
version = "0.3.1"
|
140
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
141
|
+
checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
|
142
|
+
|
110
143
|
[[package]]
|
111
144
|
name = "indexmap"
|
112
|
-
version = "1.9.
|
145
|
+
version = "1.9.3"
|
113
146
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
114
|
-
checksum = "
|
147
|
+
checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
|
115
148
|
dependencies = [
|
116
149
|
"autocfg",
|
117
150
|
"hashbrown",
|
@@ -126,17 +159,34 @@ dependencies = [
|
|
126
159
|
"cfg-if",
|
127
160
|
]
|
128
161
|
|
162
|
+
[[package]]
|
163
|
+
name = "io-lifetimes"
|
164
|
+
version = "1.0.10"
|
165
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
166
|
+
checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220"
|
167
|
+
dependencies = [
|
168
|
+
"hermit-abi 0.3.1",
|
169
|
+
"libc",
|
170
|
+
"windows-sys 0.48.0",
|
171
|
+
]
|
172
|
+
|
129
173
|
[[package]]
|
130
174
|
name = "itoa"
|
131
|
-
version = "1.0.
|
175
|
+
version = "1.0.6"
|
132
176
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
133
|
-
checksum = "
|
177
|
+
checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
|
134
178
|
|
135
179
|
[[package]]
|
136
180
|
name = "libc"
|
137
|
-
version = "0.2.
|
181
|
+
version = "0.2.142"
|
138
182
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
139
|
-
checksum = "
|
183
|
+
checksum = "6a987beff54b60ffa6d51982e1aa1146bc42f19bd26be28b0586f252fccf5317"
|
184
|
+
|
185
|
+
[[package]]
|
186
|
+
name = "linux-raw-sys"
|
187
|
+
version = "0.3.4"
|
188
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
189
|
+
checksum = "36eb31c1778188ae1e64398743890d0877fef36d11521ac60406b42016e8c2cf"
|
140
190
|
|
141
191
|
[[package]]
|
142
192
|
name = "log"
|
@@ -149,71 +199,76 @@ dependencies = [
|
|
149
199
|
|
150
200
|
[[package]]
|
151
201
|
name = "proc-macro2"
|
152
|
-
version = "1.0.
|
202
|
+
version = "1.0.56"
|
153
203
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
154
|
-
checksum = "
|
204
|
+
checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435"
|
155
205
|
dependencies = [
|
156
206
|
"unicode-ident",
|
157
207
|
]
|
158
208
|
|
159
209
|
[[package]]
|
160
210
|
name = "quote"
|
161
|
-
version = "1.0.
|
211
|
+
version = "1.0.26"
|
162
212
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
163
|
-
checksum = "
|
213
|
+
checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc"
|
164
214
|
dependencies = [
|
165
215
|
"proc-macro2",
|
166
216
|
]
|
167
217
|
|
168
218
|
[[package]]
|
169
219
|
name = "redox_syscall"
|
170
|
-
version = "0.
|
220
|
+
version = "0.3.5"
|
171
221
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
172
|
-
checksum = "
|
222
|
+
checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
|
173
223
|
dependencies = [
|
174
224
|
"bitflags",
|
175
225
|
]
|
176
226
|
|
177
227
|
[[package]]
|
178
|
-
name = "
|
179
|
-
version = "0.
|
228
|
+
name = "rustix"
|
229
|
+
version = "0.37.15"
|
180
230
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
181
|
-
checksum = "
|
231
|
+
checksum = "a0661814f891c57c930a610266415528da53c4933e6dea5fb350cbfe048a9ece"
|
182
232
|
dependencies = [
|
183
|
-
"
|
233
|
+
"bitflags",
|
234
|
+
"errno",
|
235
|
+
"io-lifetimes",
|
236
|
+
"libc",
|
237
|
+
"linux-raw-sys",
|
238
|
+
"windows-sys 0.48.0",
|
184
239
|
]
|
185
240
|
|
186
241
|
[[package]]
|
187
242
|
name = "ryu"
|
188
|
-
version = "1.0.
|
243
|
+
version = "1.0.13"
|
189
244
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
190
|
-
checksum = "
|
245
|
+
checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
|
191
246
|
|
192
247
|
[[package]]
|
193
248
|
name = "serde"
|
194
|
-
version = "1.0.
|
249
|
+
version = "1.0.160"
|
195
250
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
196
|
-
checksum = "
|
251
|
+
checksum = "bb2f3770c8bce3bcda7e149193a069a0f4365bda1fa5cd88e03bca26afc1216c"
|
197
252
|
dependencies = [
|
198
253
|
"serde_derive",
|
199
254
|
]
|
200
255
|
|
201
256
|
[[package]]
|
202
257
|
name = "serde_derive"
|
203
|
-
version = "1.0.
|
258
|
+
version = "1.0.160"
|
204
259
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
205
|
-
checksum = "
|
260
|
+
checksum = "291a097c63d8497e00160b166a967a4a79c64f3facdd01cbd7502231688d77df"
|
206
261
|
dependencies = [
|
207
262
|
"proc-macro2",
|
208
263
|
"quote",
|
209
|
-
"syn",
|
264
|
+
"syn 2.0.15",
|
210
265
|
]
|
211
266
|
|
212
267
|
[[package]]
|
213
268
|
name = "serde_json"
|
214
|
-
version = "1.0.
|
269
|
+
version = "1.0.96"
|
215
270
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
216
|
-
checksum = "
|
271
|
+
checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1"
|
217
272
|
dependencies = [
|
218
273
|
"itoa",
|
219
274
|
"ryu",
|
@@ -228,9 +283,20 @@ checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
|
|
228
283
|
|
229
284
|
[[package]]
|
230
285
|
name = "syn"
|
231
|
-
version = "1.0.
|
286
|
+
version = "1.0.109"
|
287
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
288
|
+
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
|
289
|
+
dependencies = [
|
290
|
+
"proc-macro2",
|
291
|
+
"quote",
|
292
|
+
"unicode-ident",
|
293
|
+
]
|
294
|
+
|
295
|
+
[[package]]
|
296
|
+
name = "syn"
|
297
|
+
version = "2.0.15"
|
232
298
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
233
|
-
checksum = "
|
299
|
+
checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822"
|
234
300
|
dependencies = [
|
235
301
|
"proc-macro2",
|
236
302
|
"quote",
|
@@ -239,16 +305,15 @@ dependencies = [
|
|
239
305
|
|
240
306
|
[[package]]
|
241
307
|
name = "tempfile"
|
242
|
-
version = "3.
|
308
|
+
version = "3.5.0"
|
243
309
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
244
|
-
checksum = "
|
310
|
+
checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998"
|
245
311
|
dependencies = [
|
246
312
|
"cfg-if",
|
247
313
|
"fastrand",
|
248
|
-
"libc",
|
249
314
|
"redox_syscall",
|
250
|
-
"
|
251
|
-
"
|
315
|
+
"rustix",
|
316
|
+
"windows-sys 0.45.0",
|
252
317
|
]
|
253
318
|
|
254
319
|
[[package]]
|
@@ -279,9 +344,9 @@ dependencies = [
|
|
279
344
|
|
280
345
|
[[package]]
|
281
346
|
name = "unicode-ident"
|
282
|
-
version = "1.0.
|
347
|
+
version = "1.0.8"
|
283
348
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
284
|
-
checksum = "
|
349
|
+
checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4"
|
285
350
|
|
286
351
|
[[package]]
|
287
352
|
name = "unicode-segmentation"
|
@@ -322,3 +387,135 @@ name = "winapi-x86_64-pc-windows-gnu"
|
|
322
387
|
version = "0.4.0"
|
323
388
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
324
389
|
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
390
|
+
|
391
|
+
[[package]]
|
392
|
+
name = "windows-sys"
|
393
|
+
version = "0.45.0"
|
394
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
395
|
+
checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
|
396
|
+
dependencies = [
|
397
|
+
"windows-targets 0.42.2",
|
398
|
+
]
|
399
|
+
|
400
|
+
[[package]]
|
401
|
+
name = "windows-sys"
|
402
|
+
version = "0.48.0"
|
403
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
404
|
+
checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
|
405
|
+
dependencies = [
|
406
|
+
"windows-targets 0.48.0",
|
407
|
+
]
|
408
|
+
|
409
|
+
[[package]]
|
410
|
+
name = "windows-targets"
|
411
|
+
version = "0.42.2"
|
412
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
413
|
+
checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
|
414
|
+
dependencies = [
|
415
|
+
"windows_aarch64_gnullvm 0.42.2",
|
416
|
+
"windows_aarch64_msvc 0.42.2",
|
417
|
+
"windows_i686_gnu 0.42.2",
|
418
|
+
"windows_i686_msvc 0.42.2",
|
419
|
+
"windows_x86_64_gnu 0.42.2",
|
420
|
+
"windows_x86_64_gnullvm 0.42.2",
|
421
|
+
"windows_x86_64_msvc 0.42.2",
|
422
|
+
]
|
423
|
+
|
424
|
+
[[package]]
|
425
|
+
name = "windows-targets"
|
426
|
+
version = "0.48.0"
|
427
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
428
|
+
checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
|
429
|
+
dependencies = [
|
430
|
+
"windows_aarch64_gnullvm 0.48.0",
|
431
|
+
"windows_aarch64_msvc 0.48.0",
|
432
|
+
"windows_i686_gnu 0.48.0",
|
433
|
+
"windows_i686_msvc 0.48.0",
|
434
|
+
"windows_x86_64_gnu 0.48.0",
|
435
|
+
"windows_x86_64_gnullvm 0.48.0",
|
436
|
+
"windows_x86_64_msvc 0.48.0",
|
437
|
+
]
|
438
|
+
|
439
|
+
[[package]]
|
440
|
+
name = "windows_aarch64_gnullvm"
|
441
|
+
version = "0.42.2"
|
442
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
443
|
+
checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
|
444
|
+
|
445
|
+
[[package]]
|
446
|
+
name = "windows_aarch64_gnullvm"
|
447
|
+
version = "0.48.0"
|
448
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
449
|
+
checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
|
450
|
+
|
451
|
+
[[package]]
|
452
|
+
name = "windows_aarch64_msvc"
|
453
|
+
version = "0.42.2"
|
454
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
455
|
+
checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
|
456
|
+
|
457
|
+
[[package]]
|
458
|
+
name = "windows_aarch64_msvc"
|
459
|
+
version = "0.48.0"
|
460
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
461
|
+
checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
|
462
|
+
|
463
|
+
[[package]]
|
464
|
+
name = "windows_i686_gnu"
|
465
|
+
version = "0.42.2"
|
466
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
467
|
+
checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
|
468
|
+
|
469
|
+
[[package]]
|
470
|
+
name = "windows_i686_gnu"
|
471
|
+
version = "0.48.0"
|
472
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
473
|
+
checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
|
474
|
+
|
475
|
+
[[package]]
|
476
|
+
name = "windows_i686_msvc"
|
477
|
+
version = "0.42.2"
|
478
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
479
|
+
checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
|
480
|
+
|
481
|
+
[[package]]
|
482
|
+
name = "windows_i686_msvc"
|
483
|
+
version = "0.48.0"
|
484
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
485
|
+
checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
|
486
|
+
|
487
|
+
[[package]]
|
488
|
+
name = "windows_x86_64_gnu"
|
489
|
+
version = "0.42.2"
|
490
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
491
|
+
checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
|
492
|
+
|
493
|
+
[[package]]
|
494
|
+
name = "windows_x86_64_gnu"
|
495
|
+
version = "0.48.0"
|
496
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
497
|
+
checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
|
498
|
+
|
499
|
+
[[package]]
|
500
|
+
name = "windows_x86_64_gnullvm"
|
501
|
+
version = "0.42.2"
|
502
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
503
|
+
checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
|
504
|
+
|
505
|
+
[[package]]
|
506
|
+
name = "windows_x86_64_gnullvm"
|
507
|
+
version = "0.48.0"
|
508
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
509
|
+
checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
|
510
|
+
|
511
|
+
[[package]]
|
512
|
+
name = "windows_x86_64_msvc"
|
513
|
+
version = "0.42.2"
|
514
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
515
|
+
checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
|
516
|
+
|
517
|
+
[[package]]
|
518
|
+
name = "windows_x86_64_msvc"
|
519
|
+
version = "0.48.0"
|
520
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
521
|
+
checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
|
data/lib/pyroscope/version.rb
CHANGED
data/lib/pyroscope.rb
CHANGED
@@ -2,13 +2,14 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
require 'ffi'
|
5
|
+
require 'json'
|
5
6
|
|
6
7
|
module Pyroscope
|
7
8
|
module Rust
|
8
9
|
extend FFI::Library
|
9
10
|
ffi_lib File.expand_path(File.dirname(__FILE__)) + "/rbspy/rbspy.#{RbConfig::CONFIG["DLEXT"]}"
|
10
11
|
attach_function :initialize_logging, [:int], :bool
|
11
|
-
attach_function :initialize_agent, [:string, :string, :string, :int, :bool, :bool, :bool, :bool, :string, :string, :string], :bool
|
12
|
+
attach_function :initialize_agent, [:string, :string, :string, :string, :string, :int, :bool, :bool, :bool, :bool, :string, :string, :string, :string, :string], :bool
|
12
13
|
attach_function :add_thread_tag, [:uint64, :string, :string], :bool
|
13
14
|
attach_function :remove_thread_tag, [:uint64, :string, :string], :bool
|
14
15
|
attach_function :add_global_tag, [:string, :string], :bool
|
@@ -37,6 +38,8 @@ module Pyroscope
|
|
37
38
|
:app_name,
|
38
39
|
:server_address,
|
39
40
|
:auth_token,
|
41
|
+
:basic_auth_username,
|
42
|
+
:basic_auth_password,
|
40
43
|
:log_level,
|
41
44
|
:sample_rate,
|
42
45
|
:detect_subprocesses,
|
@@ -47,6 +50,8 @@ module Pyroscope
|
|
47
50
|
:compression,
|
48
51
|
:report_encoding,
|
49
52
|
:autoinstrument_rails,
|
53
|
+
:scope_org_id,
|
54
|
+
:http_headers,
|
50
55
|
) do
|
51
56
|
def initialize(*)
|
52
57
|
super
|
@@ -54,6 +59,8 @@ module Pyroscope
|
|
54
59
|
self.application_name = ''
|
55
60
|
self.server_address = 'http://localhost:4040'
|
56
61
|
self.auth_token = ''
|
62
|
+
self.basic_auth_username = ''
|
63
|
+
self.basic_auth_password = ''
|
57
64
|
self.sample_rate = 100
|
58
65
|
self.detect_subprocesses = false
|
59
66
|
self.oncpu = true
|
@@ -64,6 +71,8 @@ module Pyroscope
|
|
64
71
|
self.compression = 'gzip'
|
65
72
|
self.report_encoding = 'pprof'
|
66
73
|
self.autoinstrument_rails = true
|
74
|
+
self.scope_org_id = ''
|
75
|
+
self.http_headers = {}
|
67
76
|
end
|
68
77
|
end
|
69
78
|
|
@@ -101,6 +110,8 @@ module Pyroscope
|
|
101
110
|
@config.app_name || @config.application_name || "",
|
102
111
|
@config.server_address || "",
|
103
112
|
@config.auth_token || "",
|
113
|
+
@config.basic_auth_username || "",
|
114
|
+
@config.basic_auth_password || "",
|
104
115
|
@config.sample_rate || 100,
|
105
116
|
@config.detect_subprocesses || false,
|
106
117
|
@config.oncpu || false,
|
@@ -108,7 +119,9 @@ module Pyroscope
|
|
108
119
|
@config.report_thread_id || false,
|
109
120
|
tags_to_string(@config.tags || {}),
|
110
121
|
@config.compression || "",
|
111
|
-
@config.report_encoding || "pprof"
|
122
|
+
@config.report_encoding || "pprof",
|
123
|
+
@config.scope_org_id || "",
|
124
|
+
http_headers_to_json(@config.http_headers || {})
|
112
125
|
)
|
113
126
|
end
|
114
127
|
|
@@ -170,5 +183,10 @@ module Pyroscope
|
|
170
183
|
def tags_to_string(tags)
|
171
184
|
tags.map { |k, v| "#{k}=#{v}" }.join(',')
|
172
185
|
end
|
186
|
+
|
187
|
+
def http_headers_to_json(http_headers)
|
188
|
+
JSON.dump(http_headers)
|
189
|
+
end
|
190
|
+
|
173
191
|
end
|
174
192
|
end
|
data/lib/rbspy/rbspy.bundle
CHANGED
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pyroscope
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.4
|
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: 2023-
|
11
|
+
date: 2023-04-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ffi
|