Make tokio-console feature flag actually work

This commit is contained in:
Igor Katson 2024-08-29 00:35:03 +01:00
parent 6182d94ce4
commit edba359400
No known key found for this signature in database
GPG key ID: B4EC22B66D61A3F5
5 changed files with 16 additions and 5 deletions

1
Cargo.lock generated
View file

@ -1456,6 +1456,7 @@ dependencies = [
"bitvec",
"byteorder",
"bytes",
"console-subscriber",
"dashmap 6.0.1",
"futures",
"hex 0.4.3",

View file

@ -14,12 +14,13 @@ webui-dev: webui-deps
export RQBIT_UPNP_SERVER_ENABLE ?= true
export RQBIT_UPNP_SERVER_FRIENDLY_NAME ?= rqbit-dev
export RQBIT_HTTP_API_LISTEN_ADDR ?= 0.0.0.0:3030
CARGO_RUN_FLAGS ?= ""
RQBIT_OUTPUT_FOLDER ?= /tmp/scratch
RQBIT_POSTGRES_CONNECTION_STRING ?= postgres:///rqbit
@PHONY: devserver-release
devserver-profile:
cargo run --release -- server start $(RQBIT_OUTPUT_FOLDER)
cargo run --release $(CARGO_RUN_FLAGS) -- server start $(RQBIT_OUTPUT_FOLDER)
# DEV variables (that's why defined after devserver-profile)
export RQBIT_LOG_FILE ?= /tmp/rqbit-log
@ -29,13 +30,13 @@ export CORS_ALLOW_REGEXP ?= '.*'
@PHONY: devserver
devserver:
echo -n '' > $(RQBIT_LOG_FILE) && \
cargo run -- \
cargo run $(CARGO_RUN_FLAGS) -- \
server start $(RQBIT_OUTPUT_FOLDER)
@PHONY: devserver
devserver-postgres:
echo -n '' > $(RQBIT_LOG_FILE) && \
cargo run -- \
cargo run $(CARGO_RUN_FLAGS) -- \
server start --fastresume --persistence-location $(RQBIT_POSTGRES_CONNECTION_STRING) $(RQBIT_OUTPUT_FOLDER)
@PHONY: docker-build-xx-one-platform

View file

@ -13,6 +13,7 @@ readme = "README.md"
[features]
default = ["default-tls"]
tokio-console = ["console-subscriber", "tokio/tracing"]
http-api = ["axum", "tower-http"]
upnp-serve-adapter = ["upnp-serve"]
webui = []
@ -59,6 +60,7 @@ tokio = { version = "1", features = [
"fs",
"io-util",
] }
console-subscriber = { version = "0.4", optional = true }
axum = { version = "0.7", optional = true }
tower-http = { version = "0.5", features = ["cors", "trace"], optional = true }
tokio-stream = "0.1"

View file

@ -91,6 +91,13 @@ pub fn init_logging(opts: InitLoggingOptions) -> anyhow::Result<InitLoggingResul
.with_writer(line_sub)
.with_filter(EnvFilter::builder().parse("info,librqbit=debug").unwrap()),
);
#[cfg(feature = "tokio-console")]
let console_layer = console_subscriber::spawn();
#[cfg(feature = "tokio-console")]
let layered = layered.with(console_layer);
if let Some(log_file) = &opts.log_file {
let log_file = log_file.to_string();
let log_file = std::sync::Mutex::new(LineWriter::new(

View file

@ -14,7 +14,7 @@ readme = "README.md"
[features]
default = ["default-tls", "postgres", "webui"]
openssl-vendored = ["openssl/vendored"]
tokio-console = ["console-subscriber", "tokio/tracing"]
tokio-console = ["librqbit/tokio-console"]
webui = ["librqbit/webui"]
timed_existence = ["librqbit/timed_existence"]
default-tls = ["librqbit/default-tls"]
@ -27,7 +27,7 @@ librqbit = { version = "7.0.0", path = "../librqbit", default-features = false,
"http-api",
"tracing-subscriber-utils",
"upnp-serve-adapter",
]}
] }
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
console-subscriber = { version = "0.4", optional = true }
anyhow = "1"