Files
nym/sdk/rust/nym-sdk/Cargo.toml
Simon Wicky b09ac57597 [Product Data] Client-side stats collection (#5107)
* draft of client data collection

* refactor gateway stats collection to fit client stats collection in same common crate

* moved client stats event and reporter to common crate

* basic os reporting

* add stats reporting address in sdk

* integrate stats scaffolding changes

* remove tokio spawn to potentially accomodate wasm32

* fmt

* fix typo

* add client_stats_id

* unify stats reporting

* avoid shutdown handle drop

* add client_type to stats reporting

* better way to build statsReportingconfig

* disarm shutdown on sink

* remove sink reporter and env dev-dependency

* cherrypick from jon/send-packet-stats

* uncoditionally start controller + licensing

* improve ClientStatsReport serialization

* better time handling

* reintroduce proper local reporting

* Let task wait for shutdown when exiting

* Log tweak

---------

Co-authored-by: jmwample <jmwample@users.noreply.github.com>
Co-authored-by: Jon Häggblad <jon.haggblad@gmail.com>
2024-11-08 14:00:29 +01:00

81 lines
3.0 KiB
TOML

[package]
name = "nym-sdk"
version = "0.1.0"
edition = "2021"
license.workspace = true
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
async-trait = { workspace = true }
bip39 = { workspace = true }
nym-client-core = { path = "../../../common/client-core", features = [
"fs-credentials-storage",
"fs-surb-storage",
"fs-gateways-storage",
] }
nym-crypto = { path = "../../../common/crypto" }
nym-gateway-requests = { path = "../../../common/gateway-requests" }
nym-bandwidth-controller = { path = "../../../common/bandwidth-controller" }
nym-credentials = { path = "../../../common/credentials" }
nym-credentials-interface = { path = "../../../common/credentials-interface" }
nym-credential-storage = { path = "../../../common/credential-storage" }
nym-credential-utils = { path = "../../../common/credential-utils" }
nym-network-defaults = { path = "../../../common/network-defaults" }
nym-sphinx = { path = "../../../common/nymsphinx" }
nym-statistics-common = { path = "../../../common/statistics" }
nym-task = { path = "../../../common/task" }
nym-topology = { path = "../../../common/topology" }
nym-socks5-client-core = { path = "../../../common/socks5-client-core" }
nym-validator-client = { path = "../../../common/client-libs/validator-client", features = [
"http-client",
] }
nym-socks5-requests = { path = "../../../common/socks5/requests" }
nym-ordered-buffer = { path = "../../../common/socks5/ordered-buffer" }
nym-service-providers-common = { path = "../../../service-providers/common" }
bytecodec = { workspace = true }
httpcodec = { workspace = true }
bytes = { workspace = true }
http = { workspace = true }
zeroize = { workspace = true }
futures = { workspace = true }
log = { workspace = true }
rand = { workspace = true, features = ["small_rng"] }
tap = { workspace = true }
thiserror = { workspace = true }
url = { workspace = true }
toml = { workspace = true }
# tcpproxy dependencies
anyhow.workspace = true
dashmap.workspace = true
tokio.workspace = true
tokio-stream.workspace = true
tokio-util.workspace = true
uuid = { version = "1", features = ["v4", "serde"] }
bincode = "1.0"
serde = { version = "1", features = ["derive"] }
tracing.workspace = true
tracing-subscriber = "0.3"
dirs.workspace = true
[dev-dependencies]
anyhow = { workspace = true }
dotenvy = { workspace = true }
pretty_env_logger = { workspace = true }
reqwest = { workspace = true, features = ["json", "socks"] }
thiserror = { workspace = true }
tokio = { workspace = true, features = ["full"] }
nym-bin-common = { path = "../../../common/bin-common" }
# extra dependencies for libp2p examples
#libp2p = { git = "https://github.com/ChainSafe/rust-libp2p.git", rev = "e3440d25681df380c9f0f8cfdcfd5ecc0a4f2fb6", features = [ "identify", "macros", "ping", "tokio", "tcp", "dns", "websocket", "noise", "mplex", "yamux", "gossipsub" ]}
tokio-stream = { workspace = true }
tokio-util = { workspace = true, features = ["codec"] }
parking_lot = { workspace = true }
hex = { workspace = true }
[features]
libp2p-vanilla = []