# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "renacer"
version = "0.6.3"
authors = ["Pragmatic AI Labs <info@paiml.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Pure Rust system call tracer with source-aware correlation for Rust binaries"
readme = "README.md"
keywords = [
    "strace",
    "tracing",
    "syscall",
    "debugging",
    "profiling",
]
categories = [
    "development-tools::debugging",
    "development-tools::profiling",
]
license = "MIT"
repository = "https://github.com/paiml/renacer"

[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"

[[bin]]
name = "renacer"
path = "src/main.rs"

[[example]]
name = "build_time_assertions"
path = "examples/build_time_assertions.rs"

[[test]]
name = "benchmark_vs_strace"
path = "tests/benchmark_vs_strace.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 = "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"

[[bench]]
name = "graph_construction"
path = "benches/graph_construction.rs"

[[bench]]
name = "memory_pool"
path = "benches/memory_pool.rs"
harness = false

[[bench]]
name = "otlp_export"
path = "benches/otlp_export.rs"
harness = false

[[bench]]
name = "ring_buffer_overhead"
path = "benches/ring_buffer_overhead.rs"
harness = false

[[bench]]
name = "syscall_overhead"
path = "benches/syscall_overhead.rs"
harness = false

[[bench]]
name = "trueno_db_queries"
path = "benches/trueno_db_queries.rs"

[dependencies.addr2line]
version = "0.24"

[dependencies.anyhow]
version = "1.0"

[dependencies.aprender]
version = "0.7.1"

[dependencies.arbitrary]
version = "1.3"
features = ["derive"]
optional = true

[dependencies.backtrace]
version = "0.3"

[dependencies.clap]
version = "4.5"
features = [
    "derive",
    "cargo",
]

[dependencies.crossbeam]
version = "0.8"

[dependencies.cudarc]
version = "0.18"
features = [
    "f16",
    "cuda-version-from-build-system",
]
optional = true

[dependencies.fnv]
version = "1.0"

[dependencies.gimli]
version = "0.31"

[dependencies.hex]
version = "0.4"

[dependencies.libc]
version = "0.2"

[dependencies.loom]
version = "0.7"
optional = true

[dependencies.memmap2]
version = "0.9"

[dependencies.nix]
version = "0.29"
features = [
    "ptrace",
    "process",
    "signal",
    "uio",
]

[dependencies.object]
version = "0.37"

[dependencies.opentelemetry]
version = "0.31.0"
optional = true

[dependencies.opentelemetry-otlp]
version = "0.31.0"
features = [
    "grpc-tonic",
    "http-proto",
]
optional = true

[dependencies.opentelemetry_sdk]
version = "0.31.0"
features = ["rt-tokio"]
optional = true

[dependencies.rand]
version = "0.8"

[dependencies.regex]
version = "1.10"

[dependencies.rmp-serde]
version = "1.3"

[dependencies.serde]
version = "1.0"
features = ["derive"]

[dependencies.serde_json]
version = "1.0"

[dependencies.sha2]
version = "0.10"

[dependencies.thiserror]
version = "1.0"

[dependencies.tokio]
version = "1"
features = [
    "rt",
    "rt-multi-thread",
    "macros",
]
optional = true

[dependencies.toml]
version = "0.8"

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-subscriber]
version = "0.3"
features = [
    "env-filter",
    "fmt",
]

[dependencies.trueno]
version = "0.7.0"

[dependencies.trueno-db]
version = "0.3.1"

[dependencies.trueno-graph]
version = "0.1.0"

[dependencies.wgpu]
version = "23.0"
optional = true

[dependencies.wgpu-profiler]
version = "0.18"
optional = true

[dev-dependencies.assert_cmd]
version = "2.0"

[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]

[dev-dependencies.predicates]
version = "3.1"

[dev-dependencies.proptest]
version = "1.5"

[dev-dependencies.reqwest]
version = "0.11"
features = [
    "blocking",
    "json",
]

[dev-dependencies.serde_json]
version = "1.0"

[dev-dependencies.serial_test]
version = "3.2"

[dev-dependencies.tempfile]
version = "3.13"

[profile.dev]
opt-level = 0
debug = 2

[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true
