Cargo Features

[dependencies]
ubmsc = { version = "0.1.1", default-features = false, features = ["default-cmdline", "default-exporter", "stderr", "journal", "multi-thread", "json", "yaml", "toml", "metrics", "exporter", "pull", "push"] }

optional = true

default = default-cmdline, default-exporter

These default features are set whenever ubmsc is added without default-features = false somewhere in the dependency tree.

default-cmdline default = json, metrics, stderr, toml, yaml
default-exporter default = journal, pull, push
stderr default-cmdline = tracing-subscriber
journal default-exporter = tracing-journald, tracing-subscriber

Affects args::Args.journal

multi-thread

Enables rt-multi-thread of tokio

json default-cmdline = serde, serde_json
yaml default-cmdline = serde, serde_yaml
toml default-cmdline = serde, serde_toml
metrics default-cmdline exporter? = prometheus
exporter pull? push? = http, http-body-util, hyper, hyper-util, metrics

Enables net of tokio

Affects args::Args.exporter, args::Args.url, args::Args.scrape_interval, args::Args.protobuf

pull default-exporter = exporter

Enables server of hyper

push default-exporter = exporter

Enables client of hyper

hyper:

Client/Server

Affects args::Args.push

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

http exporter?
http-body-util exporter?
hyper-util exporter?
prometheus metrics?
serde_json json?
serde_toml toml?

Enables toml

serde_yaml yaml?

Enables serde_yaml_ng

tracing-journald journal?
tracing-subscriber journal? stderr?

Affects args::Args.log

hyper exporter? pull? push?
serde json? toml? yaml?