1: This supports "mem" tracing only. 2: Replay option is modified to use "pread" instead of readahead. A simple utility binary "prefetch" is built which links to the library. The binary allows record, replay and verifying the generated metadata. Bug: 362507272 Test: cargo test passes all unit tests. Verify record, replay and dump options: ./prefetch record --duration 10 --path /data/test/trace-test ./prefetch replay --path /data/test/trace-test ./prefetch dump /data/test/trace-test --format csv Change-Id: I1661e49183c6120d2878510e609571fe6d608bb5 Signed-off-by: Vikram Auradkar <auradkar@google.com> Signed-off-by: Akilesh Kailash <akailash@google.com>
80 lines
1.8 KiB
Text
80 lines
1.8 KiB
Text
//
|
|
// Copyright (C) 2024 The Android Open Source Project
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
package {
|
|
default_team: "trendy_team_android_kernel",
|
|
default_applicable_licenses: ["Android-Apache-2.0"],
|
|
}
|
|
|
|
rust_library_rlib {
|
|
name: "libprefetch_rs",
|
|
crate_name: "prefetch_rs",
|
|
srcs: ["src/lib.rs"],
|
|
rustlibs: [
|
|
"libandroid_logger",
|
|
"libargh",
|
|
"libchrono",
|
|
"libcrc32fast",
|
|
"libcsv",
|
|
"liblibc",
|
|
"liblog_rust",
|
|
"liblru_cache",
|
|
"libnix",
|
|
"librand",
|
|
"librayon",
|
|
"libregex",
|
|
"libserde_cbor",
|
|
"libserde_json",
|
|
"libserde",
|
|
"libthiserror",
|
|
"libwalkdir",
|
|
"librustutils",
|
|
],
|
|
prefer_rlib: true,
|
|
features: [
|
|
"derive",
|
|
"error-context",
|
|
"help",
|
|
"std",
|
|
"usage",
|
|
"use_argh",
|
|
],
|
|
}
|
|
|
|
rust_binary {
|
|
name: "prefetch",
|
|
crate_name: "prefetch",
|
|
srcs: ["src/main.rs"],
|
|
rustlibs: [
|
|
"libprefetch_rs",
|
|
"liblog_rust",
|
|
"libandroid_logger",
|
|
],
|
|
prefer_rlib: true,
|
|
features: [
|
|
"default",
|
|
"derive",
|
|
"error-context",
|
|
"help",
|
|
"std",
|
|
"usage",
|
|
"use_argh",
|
|
],
|
|
init_rc: [
|
|
"prefetch.rc",
|
|
],
|
|
}
|
|
|
|
// TODO: Add rust_test to enable unit testing - b/378554334
|