[[bench]]
name = "graph_construction"
path = "benches/graph_construction.rs"
[[bench]]
harness = false
name = "memory_pool"
path = "benches/memory_pool.rs"
[[bench]]
harness = false
name = "otlp_export"
path = "benches/otlp_export.rs"
[[bench]]
harness = false
name = "ring_buffer_overhead"
path = "benches/ring_buffer_overhead.rs"
[[bench]]
harness = false
name = "syscall_overhead"
path = "benches/syscall_overhead.rs"
[[bench]]
name = "trueno_db_queries"
path = "benches/trueno_db_queries.rs"
[[bin]]
name = "renacer"
path = "src/main.rs"
[dependencies.addr2line]
version = "0.25"
[dependencies.anyhow]
version = "1.0"
[dependencies.aprender]
version = "0.23"
[dependencies.arbitrary]
features = ["derive"]
optional = true
version = "1.3"
[dependencies.backtrace]
version = "0.3"
[dependencies.clap]
features = ["derive", "cargo"]
version = "4.5"
[dependencies.crossbeam]
version = "0.8"
[dependencies.cudarc]
features = ["f16", "cuda-version-from-build-system"]
optional = true
version = "0.18"
[dependencies.fnv]
version = "1.0"
[dependencies.gimli]
version = "0.32"
[dependencies.hex]
version = "0.4"
[dependencies.libc]
version = "0.2"
[dependencies.loom]
optional = true
version = "0.7"
[dependencies.memmap2]
version = "0.9"
[dependencies.nix]
features = ["ptrace", "process", "signal", "uio", "resource"]
version = "0.30"
[dependencies.object]
version = "0.38"
[dependencies.opentelemetry]
optional = true
version = "0.31.0"
[dependencies.opentelemetry-otlp]
features = ["grpc-tonic", "http-proto"]
optional = true
version = "0.31.0"
[dependencies.opentelemetry_sdk]
features = ["rt-tokio"]
optional = true
version = "0.31.0"
[dependencies.rand]
version = "0.8"
[dependencies.regex]
version = "1.10"
[dependencies.rmp-serde]
version = "1.3"
[dependencies.serde]
features = ["derive"]
version = "1.0"
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10"
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
features = ["rt", "rt-multi-thread", "macros"]
optional = true
version = "1"
[dependencies.toml]
version = "0.8"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
features = ["env-filter", "fmt"]
version = "0.3"
[dependencies.trueno]
version = "0.11"
[dependencies.trueno-db]
version = "0.3.9"
[dependencies.trueno-graph]
version = "0.1.6"
[dependencies.wgpu]
optional = true
version = "23.0"
[dependencies.wgpu-profiler]
optional = true
version = "0.18"
[dev-dependencies.assert_cmd]
version = "2.0"
[dev-dependencies.criterion]
features = ["html_reports"]
version = "0.5"
[dev-dependencies.predicates]
version = "3.1"
[dev-dependencies.proptest]
version = "1.5"
[dev-dependencies.reqwest]
features = ["blocking", "json"]
version = "0.12"
[dev-dependencies.serde_json]
version = "1.0"
[dev-dependencies.serial_test]
version = "3.2"
[dev-dependencies.tempfile]
version = "3.13"
[[example]]
name = "build_time_assertions"
path = "examples/build_time_assertions.rs"
[[example]]
name = "validate_golden_trace"
path = "examples/validate_golden_trace.rs"
[features]
chaos-basic = []
chaos-byzantine = ["chaos-network"]
chaos-full = ["chaos-byzantine", "dep:loom", "dep:arbitrary"]
chaos-network = ["chaos-basic"]
cuda-tracing = ["dep:cudarc", "otlp"]
default = ["otlp"]
fuzz = ["dep:arbitrary"]
gpu-tracing = ["dep:wgpu", "dep:wgpu-profiler", "otlp"]
otlp = ["dep:opentelemetry", "dep:opentelemetry_sdk", "dep:opentelemetry-otlp", "dep:tokio"]
[lib]
name = "renacer"
path = "src/lib.rs"
[lints.clippy]
cast_lossless = "allow"
cast_possible_truncation = "allow"
cast_possible_wrap = "allow"
cast_precision_loss = "allow"
cast_sign_loss = "allow"
default_trait_access = "allow"
doc_link_with_quotes = "allow"
doc_markdown = "allow"
enum_glob_use = "warn"
explicit_iter_loop = "allow"
field_reassign_with_default = "allow"
float_cmp = "allow"
fn_params_excessive_bools = "allow"
format_collect = "allow"
format_push_string = "allow"
ignore_without_reason = "allow"
implicit_hasher = "allow"
inline_always = "allow"
items_after_statements = "allow"
let_underscore_drop = "allow"
let_underscore_untyped = "allow"
manual_assert = "allow"
manual_let_else = "allow"
manual_range_contains = "allow"
match_same_arms = "allow"
match_wildcard_for_single_variants = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
must_use_candidate = "allow"
needless_continue = "allow"
needless_for_each = "warn"
needless_pass_by_value = "allow"
needless_raw_string_hashes = "allow"
no_effect_underscore_binding = "allow"
redundant_else = "allow"
redundant_pattern_matching = "allow"
ref_option = "allow"
return_self_not_must_use = "allow"
similar_names = "allow"
single_char_pattern = "allow"
single_match_else = "allow"
struct_excessive_bools = "allow"
too_many_lines = "allow"
trivially_copy_pass_by_ref = "allow"
uninlined_format_args = "allow"
unnecessary_debug_formatting = "allow"
unnecessary_get_then_check = "allow"
unnecessary_wraps = "allow"
unreadable_literal = "allow"
unused_self = "allow"
used_underscore_binding = "allow"
useless_vec = "allow"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
unreachable_pub = "allow"
unsafe_op_in_unsafe_fn = "warn"
[package]
authors = ["Pragmatic AI Labs <info@paiml.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["development-tools::debugging", "development-tools::profiling"]
description = "Pure Rust system call tracer with source-aware correlation for Rust binaries"
edition = "2021"
keywords = ["strace", "tracing", "syscall", "debugging", "profiling"]
license = "MIT"
name = "renacer"
readme = "README.md"
repository = "https://github.com/paiml/renacer"
version = "0.9.3"
[profile.dev]
debug = 2
opt-level = 0
[profile.release]
codegen-units = 1
lto = true
opt-level = 3
strip = true
[[test]]
name = "benchmark_vs_strace"
path = "tests/benchmark_vs_strace.rs"
[[test]]
name = "experiment_span_test"
path = "tests/experiment_span_test.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[[test]]
name = "property_based_comprehensive"
path = "tests/property_based_comprehensive.rs"
[[test]]
name = "single_shot_compile_integration"
path = "tests/single_shot_compile_integration.rs"
[[test]]
name = "sprint13_function_profiling_tests"
path = "tests/sprint13_function_profiling_tests.rs"
[[test]]
name = "sprint13_profiling_tests"
path = "tests/sprint13_profiling_tests.rs"
[[test]]
name = "sprint13_stack_unwinding_tests"
path = "tests/sprint13_stack_unwinding_tests.rs"
[[test]]
name = "sprint15_negation_tests"
path = "tests/sprint15_negation_tests.rs"
[[test]]
name = "sprint16_regex_filtering_tests"
path = "tests/sprint16_regex_filtering_tests.rs"
[[test]]
name = "sprint17_output_format_tests"
path = "tests/sprint17_output_format_tests.rs"
[[test]]
name = "sprint18_multiprocess_tests"
path = "tests/sprint18_multiprocess_tests.rs"
[[test]]
name = "sprint19_enhanced_stats_tests"
path = "tests/sprint19_enhanced_stats_tests.rs"
[[test]]
name = "sprint1_mvp_tests"
path = "tests/sprint1_mvp_tests.rs"
[[test]]
name = "sprint20_realtime_anomaly_tests"
path = "tests/sprint20_realtime_anomaly_tests.rs"
[[test]]
name = "sprint21_hpu_acceleration_tests"
path = "tests/sprint21_hpu_acceleration_tests.rs"
[[test]]
name = "sprint22_html_output_tests"
path = "tests/sprint22_html_output_tests.rs"
[[test]]
name = "sprint22_isolation_forest_tests"
path = "tests/sprint22_isolation_forest_tests.rs"
[[test]]
name = "sprint23_autoencoder_tests"
path = "tests/sprint23_autoencoder_tests.rs"
[[test]]
name = "sprint23_ml_anomaly_tests"
path = "tests/sprint23_ml_anomaly_tests.rs"
[[test]]
name = "sprint24_transpiler_source_map_tests"
path = "tests/sprint24_transpiler_source_map_tests.rs"
[[test]]
name = "sprint25_function_name_correlation_tests"
path = "tests/sprint25_function_name_correlation_tests.rs"
[[test]]
name = "sprint26_decision_trace_tests"
path = "tests/sprint26_decision_trace_tests.rs"
[[test]]
name = "sprint26_stack_trace_correlation_tests"
path = "tests/sprint26_stack_trace_correlation_tests.rs"
[[test]]
name = "sprint27_error_correlation_tests"
path = "tests/sprint27_error_correlation_tests.rs"
[[test]]
name = "sprint28_decy_integration_tests"
path = "tests/sprint28_decy_integration_tests.rs"
[[test]]
name = "sprint30_otlp_export_tests"
path = "tests/sprint30_otlp_export_tests.rs"
[[test]]
name = "sprint31_ruchy_integration_tests"
path = "tests/sprint31_ruchy_integration_tests.rs"
[[test]]
name = "sprint32_compute_block_tracing_tests"
path = "tests/sprint32_compute_block_tracing_tests.rs"
[[test]]
name = "sprint33_span_context_propagation_tests"
path = "tests/sprint33_span_context_propagation_tests.rs"
[[test]]
name = "sprint34_integration_tests"
path = "tests/sprint34_integration_tests.rs"
[[test]]
name = "sprint37_gpu_kernel_tracing_tests"
path = "tests/sprint37_gpu_kernel_tracing_tests.rs"
[[test]]
name = "sprint37_gpu_tracer_tests"
path = "tests/sprint37_gpu_tracer_tests.rs"
[[test]]
name = "sprint38_cuda_kernel_tracing_tests"
path = "tests/sprint38_cuda_kernel_tracing_tests.rs"
[[test]]
name = "sprint38_cuda_tracer_tests"
path = "tests/sprint38_cuda_tracer_tests.rs"
[[test]]
name = "sprint39_gpu_transfer_tracking_tests"
path = "tests/sprint39_gpu_transfer_tracking_tests.rs"
[[test]]
name = "sprint3_full_syscalls_tests"
path = "tests/sprint3_full_syscalls_tests.rs"
[[test]]
name = "sprint40_lamport_clock_tests"
path = "tests/sprint40_lamport_clock_tests.rs"
[[test]]
name = "sprint40_ring_buffer_tests"
path = "tests/sprint40_ring_buffer_tests.rs"
[[test]]
name = "sprint40_trueno_db_tests"
path = "tests/sprint40_trueno_db_tests.rs"
[[test]]
name = "sprint41_anti_patterns_tests"
path = "tests/sprint41_anti_patterns_tests.rs"
[[test]]
name = "sprint41_causal_graph_tests"
path = "tests/sprint41_causal_graph_tests.rs"
[[test]]
name = "sprint41_critical_path_tests"
path = "tests/sprint41_critical_path_tests.rs"
[[test]]
name = "sprint41_rle_tests"
path = "tests/sprint41_rle_tests.rs"
[[test]]
name = "sprint42_semantic_equivalence_tests"
path = "tests/sprint42_semantic_equivalence_tests.rs"
[[test]]
name = "sprint42_trace_propagation_tests"
path = "tests/sprint42_trace_propagation_tests.rs"
[[test]]
name = "sprint43_query_performance_tests"
path = "tests/sprint43_query_performance_tests.rs"
[[test]]
name = "sprint49_decision_export_tests"
path = "tests/sprint49_decision_export_tests.rs"
[[test]]
name = "sprint49_depyler_ingestion_tests"
path = "tests/sprint49_depyler_ingestion_tests.rs"
[[test]]
name = "sprint50_validate_tests"
path = "tests/sprint50_validate_tests.rs"
[[test]]
name = "sprint5_dwarf_source_tests"
path = "tests/sprint5_dwarf_source_tests.rs"
[[test]]
name = "sprint9_filtering_tests"
path = "tests/sprint9_filtering_tests.rs"
[[test]]
name = "sprint9_json_output_tests"
path = "tests/sprint9_json_output_tests.rs"
[[test]]
name = "sprint9_pid_attach_tests"
path = "tests/sprint9_pid_attach_tests.rs"
[[test]]
name = "sprint9_statistics_tests"
path = "tests/sprint9_statistics_tests.rs"
[[test]]
name = "sprint9_timing_tests"
path = "tests/sprint9_timing_tests.rs"
[[test]]
name = "tracing_instrumentation_tests"
path = "tests/tracing_instrumentation_tests.rs"