Auto merge of #66981 - michaelwoerister:measureme-0.5.0, r=Mark-Simulacrum
Update measureme crate to 0.5.0 This PR updates the `measureme` self-profiling crate to the latest release. Heads up, this version changes the trace file format, so the `summarize` tool on perf.rlo needs to be updated to 0.5 too. r? @Mark-Simulacrum cc @wesleywiser
This commit is contained in:
commit
59947fcae6
|
@ -2055,12 +2055,13 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "measureme"
|
name = "measureme"
|
||||||
version = "0.4.0"
|
version = "0.5.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "cd21b0e6e1af976b269ce062038fe5e1b9ca2f817ab7a3af09ec4210aebf0d30"
|
checksum = "c420bbc064623934620b5ab2dc0cf96451b34163329e82f95e7fa1b7b99a6ac8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"byteorder",
|
"byteorder",
|
||||||
"memmap",
|
"memmap",
|
||||||
|
"parking_lot 0.9.0",
|
||||||
"rustc-hash",
|
"rustc-hash",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -2072,9 +2073,9 @@ checksum = "2efc7bc57c883d4a4d6e3246905283d8dae951bb3bd32f49d6ef297f546e1c39"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "memmap"
|
name = "memmap"
|
||||||
version = "0.6.2"
|
version = "0.7.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "e2ffa2c986de11a9df78620c01eeaaf27d94d3ff02bf81bfcca953102dd0c6ff"
|
checksum = "6585fd95e7bb50d6cc31e20d4cf9afb4e2ba16c5846fc76793f11218da9c475b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"libc",
|
"libc",
|
||||||
"winapi 0.3.8",
|
"winapi 0.3.8",
|
||||||
|
|
|
@ -37,6 +37,6 @@ byteorder = { version = "1.3" }
|
||||||
chalk-engine = { version = "0.9.0", default-features=false }
|
chalk-engine = { version = "0.9.0", default-features=false }
|
||||||
rustc_fs_util = { path = "../librustc_fs_util" }
|
rustc_fs_util = { path = "../librustc_fs_util" }
|
||||||
smallvec = { version = "1.0", features = ["union", "may_dangle"] }
|
smallvec = { version = "1.0", features = ["union", "may_dangle"] }
|
||||||
measureme = "0.4"
|
measureme = "0.5"
|
||||||
rustc_error_codes = { path = "../librustc_error_codes" }
|
rustc_error_codes = { path = "../librustc_error_codes" }
|
||||||
rustc_session = { path = "../librustc_session" }
|
rustc_session = { path = "../librustc_session" }
|
||||||
|
|
|
@ -13,7 +13,7 @@ test = false
|
||||||
bitflags = "1.2.1"
|
bitflags = "1.2.1"
|
||||||
cc = "1.0.1"
|
cc = "1.0.1"
|
||||||
num_cpus = "1.0"
|
num_cpus = "1.0"
|
||||||
memmap = "0.6"
|
memmap = "0.7"
|
||||||
log = "0.4.5"
|
log = "0.4.5"
|
||||||
libc = "0.2.44"
|
libc = "0.2.44"
|
||||||
jobserver = "0.1.11"
|
jobserver = "0.1.11"
|
||||||
|
|
|
@ -26,7 +26,7 @@ rustc-hash = "1.0.1"
|
||||||
smallvec = { version = "1.0", features = ["union", "may_dangle"] }
|
smallvec = { version = "1.0", features = ["union", "may_dangle"] }
|
||||||
rustc_index = { path = "../librustc_index", package = "rustc_index" }
|
rustc_index = { path = "../librustc_index", package = "rustc_index" }
|
||||||
bitflags = "1.2.1"
|
bitflags = "1.2.1"
|
||||||
measureme = "0.4"
|
measureme = "0.5"
|
||||||
|
|
||||||
[dependencies.parking_lot]
|
[dependencies.parking_lot]
|
||||||
version = "0.9"
|
version = "0.9"
|
||||||
|
|
|
@ -7,7 +7,7 @@ use std::sync::Arc;
|
||||||
use std::thread::ThreadId;
|
use std::thread::ThreadId;
|
||||||
use std::u32;
|
use std::u32;
|
||||||
|
|
||||||
use measureme::{StringId, TimestampKind};
|
use measureme::{StringId};
|
||||||
|
|
||||||
/// MmapSerializatioSink is faster on macOS and Linux
|
/// MmapSerializatioSink is faster on macOS and Linux
|
||||||
/// but FileSerializationSink is faster on Windows
|
/// but FileSerializationSink is faster on Windows
|
||||||
|
@ -63,8 +63,8 @@ const EVENT_FILTERS_BY_NAME: &[(&str, EventFilter)] = &[
|
||||||
("incr-cache-load", EventFilter::INCR_CACHE_LOADS),
|
("incr-cache-load", EventFilter::INCR_CACHE_LOADS),
|
||||||
];
|
];
|
||||||
|
|
||||||
fn thread_id_to_u64(tid: ThreadId) -> u64 {
|
fn thread_id_to_u32(tid: ThreadId) -> u32 {
|
||||||
unsafe { mem::transmute::<ThreadId, u64>(tid) }
|
unsafe { mem::transmute::<ThreadId, u64>(tid) as u32 }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -149,11 +149,10 @@ impl SelfProfilerRef {
|
||||||
/// Record a query in-memory cache hit.
|
/// Record a query in-memory cache hit.
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
pub fn query_cache_hit(&self, query_name: impl QueryName) {
|
pub fn query_cache_hit(&self, query_name: impl QueryName) {
|
||||||
self.non_guard_query_event(
|
self.instant_query_event(
|
||||||
|profiler| profiler.query_cache_hit_event_kind,
|
|profiler| profiler.query_cache_hit_event_kind,
|
||||||
query_name,
|
query_name,
|
||||||
EventFilter::QUERY_CACHE_HITS,
|
EventFilter::QUERY_CACHE_HITS,
|
||||||
TimestampKind::Instant,
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -184,22 +183,20 @@ impl SelfProfilerRef {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
fn non_guard_query_event(
|
fn instant_query_event(
|
||||||
&self,
|
&self,
|
||||||
event_kind: fn(&SelfProfiler) -> StringId,
|
event_kind: fn(&SelfProfiler) -> StringId,
|
||||||
query_name: impl QueryName,
|
query_name: impl QueryName,
|
||||||
event_filter: EventFilter,
|
event_filter: EventFilter,
|
||||||
timestamp_kind: TimestampKind
|
|
||||||
) {
|
) {
|
||||||
drop(self.exec(event_filter, |profiler| {
|
drop(self.exec(event_filter, |profiler| {
|
||||||
let event_id = SelfProfiler::get_query_name_string_id(query_name);
|
let event_id = SelfProfiler::get_query_name_string_id(query_name);
|
||||||
let thread_id = thread_id_to_u64(std::thread::current().id());
|
let thread_id = thread_id_to_u32(std::thread::current().id());
|
||||||
|
|
||||||
profiler.profiler.record_event(
|
profiler.profiler.record_instant_event(
|
||||||
event_kind(profiler),
|
event_kind(profiler),
|
||||||
event_id,
|
event_id,
|
||||||
thread_id,
|
thread_id,
|
||||||
timestamp_kind,
|
|
||||||
);
|
);
|
||||||
|
|
||||||
TimingGuard::none()
|
TimingGuard::none()
|
||||||
|
@ -306,7 +303,7 @@ impl<'a> TimingGuard<'a> {
|
||||||
event_kind: StringId,
|
event_kind: StringId,
|
||||||
event_id: StringId,
|
event_id: StringId,
|
||||||
) -> TimingGuard<'a> {
|
) -> TimingGuard<'a> {
|
||||||
let thread_id = thread_id_to_u64(std::thread::current().id());
|
let thread_id = thread_id_to_u32(std::thread::current().id());
|
||||||
let raw_profiler = &profiler.profiler;
|
let raw_profiler = &profiler.profiler;
|
||||||
let timing_guard = raw_profiler.start_recording_interval_event(event_kind,
|
let timing_guard = raw_profiler.start_recording_interval_event(event_kind,
|
||||||
event_id,
|
event_id,
|
||||||
|
|
|
@ -12,7 +12,7 @@ doctest = false
|
||||||
[dependencies]
|
[dependencies]
|
||||||
flate2 = "1.0"
|
flate2 = "1.0"
|
||||||
log = "0.4"
|
log = "0.4"
|
||||||
memmap = "0.6"
|
memmap = "0.7"
|
||||||
smallvec = { version = "1.0", features = ["union", "may_dangle"] }
|
smallvec = { version = "1.0", features = ["union", "may_dangle"] }
|
||||||
rustc = { path = "../librustc" }
|
rustc = { path = "../librustc" }
|
||||||
rustc_data_structures = { path = "../librustc_data_structures" }
|
rustc_data_structures = { path = "../librustc_data_structures" }
|
||||||
|
|
Loading…
Reference in New Issue