# 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"
rust-version = "1.88.0"
name = "pprof-pyroscope-fork"
version = "0.1500.4"
authors = ["Yang Keao <keao.yang@yahoo.com>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "An internal perf tools for rust programs."
documentation = "https://docs.rs/pprof-pyroscope-fork/"
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/grafana/pprof-rs"

[package.metadata.docs.rs]
all-features = true

[features]
_protobuf = []
cpp = ["symbolic-demangle/cpp"]
default = ["cpp"]
flamegraph = ["inferno"]
frame-pointer = []
framehop-unwinder = [
    "framehop",
    "memmap2",
    "object",
]
huge-depth = []
large-depth = []
perfmaps = ["arc-swap"]
prost-codec = [
    "prost",
    "prost-derive",
    "prost-build",
    "sha2",
    "_protobuf",
]
protobuf-codec = [
    "protobuf",
    "protobuf-codegen",
    "_protobuf",
]

[lib]
name = "pprof"
path = "src/lib.rs"

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

[[example]]
name = "criterion"
path = "examples/criterion.rs"
required-features = [
    "flamegraph",
    "criterion",
]

[[example]]
name = "flamegraph"
path = "examples/flamegraph.rs"
required-features = ["flamegraph"]

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

[[example]]
name = "multithread_flamegraph"
path = "examples/multithread_flamegraph.rs"
required-features = ["flamegraph"]

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

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

[[example]]
name = "profile_proto_with_prost"
path = "examples/profile_proto_with_prost.rs"
required-features = [
    "protobuf",
    "prost-codec",
]

[[example]]
name = "profile_proto_with_protobuf_codec"
path = "examples/profile_proto_with_protobuf_codec.rs"
required-features = [
    "protobuf",
    "protobuf-codec",
]

[[test]]
name = "sigprof_race"
path = "tests/sigprof_race.rs"

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

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

[dependencies.aligned-vec]
version = "0.6"

[dependencies.arc-swap]
version = "1.7.1"
optional = true

[dependencies.backtrace]
version = "0.3"

[dependencies.cfg-if]
version = "1.0"

[dependencies.criterion]
version = "0.5"
optional = true

[dependencies.findshlibs]
version = "0.10"

[dependencies.framehop]
version = "0.16"
optional = true

[dependencies.inferno]
version = "0.11"
features = ["nameattr"]
optional = true
default-features = false

[dependencies.libc]
version = "^0.2.66"

[dependencies.log]
version = "0.4"

[dependencies.memmap2]
version = "0.5.5"
optional = true

[dependencies.nix]
version = "0.26"
features = [
    "signal",
    "fs",
]
default-features = false

[dependencies.object]
version = "0.29.0"
optional = true

[dependencies.once_cell]
version = "1.9"

[dependencies.prost]
version = "0.12"
optional = true

[dependencies.prost-derive]
version = "0.12"
optional = true

[dependencies.protobuf]
version = ">=3.7.2"
optional = true

[dependencies.smallvec]
version = "1.7"

[dependencies.spin]
version = "0.10"

[dependencies.symbolic-demangle]
version = "12.1"
features = ["rust"]
default-features = false

[dependencies.tempfile]
version = "3.1"

[dependencies.thiserror]
version = "2.0"

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

[dev-dependencies.rand]
version = "0.8.6"

[build-dependencies.prost-build]
version = "0.12"
optional = true

[build-dependencies.protobuf-codegen]
version = "3.7.2"
optional = true

[build-dependencies.sha2]
version = "0.10"
optional = true
