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", "bitvec",
"byteorder", "byteorder",
"bytes", "bytes",
"console-subscriber",
"dashmap 6.0.1", "dashmap 6.0.1",
"futures", "futures",
"hex 0.4.3", "hex 0.4.3",

View file

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

View file

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

View file

@ -91,6 +91,13 @@ pub fn init_logging(opts: InitLoggingOptions) -> anyhow::Result<InitLoggingResul
.with_writer(line_sub) .with_writer(line_sub)
.with_filter(EnvFilter::builder().parse("info,librqbit=debug").unwrap()), .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 { if let Some(log_file) = &opts.log_file {
let log_file = log_file.to_string(); let log_file = log_file.to_string();
let log_file = std::sync::Mutex::new(LineWriter::new( let log_file = std::sync::Mutex::new(LineWriter::new(

View file

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