Expose process metrics on Linux
This commit is contained in:
33
Cargo.lock
generated
33
Cargo.lock
generated
@@ -3170,6 +3170,7 @@ dependencies = [
|
||||
"mas-tower",
|
||||
"opentelemetry",
|
||||
"opentelemetry-http",
|
||||
"opentelemetry-instrumentation-process",
|
||||
"opentelemetry-jaeger-propagator",
|
||||
"opentelemetry-otlp",
|
||||
"opentelemetry-prometheus-text-exporter",
|
||||
@@ -4132,6 +4133,17 @@ dependencies = [
|
||||
"reqwest",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "opentelemetry-instrumentation-process"
|
||||
version = "0.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6a81f1738bbdcf58eae20bd85ab0973f9c1f700ba37789e3253dc4e7ba61855c"
|
||||
dependencies = [
|
||||
"opentelemetry",
|
||||
"opentelemetry-semantic-conventions",
|
||||
"procfs",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "opentelemetry-jaeger-propagator"
|
||||
version = "0.31.0"
|
||||
@@ -4648,6 +4660,27 @@ dependencies = [
|
||||
"yansi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "procfs"
|
||||
version = "0.18.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "25485360a54d6861439d60facef26de713b1e126bf015ec8f98239467a2b82f7"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"procfs-core",
|
||||
"rustix",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "procfs-core"
|
||||
version = "0.18.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e6401bf7b6af22f78b563665d15a22e9aef27775b79b149a66ca022468a4e405"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"hex",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "prost"
|
||||
version = "0.14.1"
|
||||
|
||||
@@ -401,6 +401,8 @@ features = ["trace", "metrics"]
|
||||
[workspace.dependencies.opentelemetry-http]
|
||||
version = "0.31.0"
|
||||
features = ["reqwest"]
|
||||
[workspace.dependencies.opentelemetry-instrumentation-process]
|
||||
version = "0.1.2"
|
||||
[workspace.dependencies.opentelemetry-jaeger-propagator]
|
||||
version = "0.31.0"
|
||||
[workspace.dependencies.opentelemetry-otlp]
|
||||
|
||||
@@ -57,6 +57,7 @@ tracing-subscriber.workspace = true
|
||||
tracing-opentelemetry.workspace = true
|
||||
opentelemetry.workspace = true
|
||||
opentelemetry-http.workspace = true
|
||||
opentelemetry-instrumentation-process.workspace = true
|
||||
opentelemetry-jaeger-propagator.workspace = true
|
||||
opentelemetry-otlp.workspace = true
|
||||
opentelemetry-prometheus-text-exporter.workspace = true
|
||||
|
||||
@@ -61,6 +61,9 @@ pub fn setup(config: &TelemetryConfig) -> anyhow::Result<()> {
|
||||
init_tracer(&config.tracing).context("Failed to configure traces exporter")?;
|
||||
init_meter(&config.metrics).context("Failed to configure metrics exporter")?;
|
||||
|
||||
opentelemetry_instrumentation_process::init()
|
||||
.context("Failed to configure process instrumentation")?;
|
||||
|
||||
let handle = ::tokio::runtime::Handle::current();
|
||||
self::tokio::observe(handle.metrics());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user