Rust Sdk Reference
Install
# Cargo.toml
[dependencies]
denpex-sdk = "0.7"
Modules
denpex_sdk::control_plane— REST client + OTLP submission.denpex_sdk::agent_ingest— typed envelope shape for ingest.denpex_sdk::enterprise_agent— typed envelope shape exported bydenpex-enterprise-agent.
CLI
cargo install denpex-cli
denpex incident list --tenant <id>
denpex incident show <id>
denpex incident approve <id>
denpex checkpoint validate --path <path>
denpex rank map
Usage
use denpex_sdk::control_plane::{Client, IncidentQueryBuilder};
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let client = Client::new("https://api.denpex.ai", "<token>", "<tenant>")?;
let q = IncidentQueryBuilder::new()
.state("open")
.limit(25);
let resp = client.list_incidents(q).send().await?;
for inc in resp.nodes {
println!("{}: {} on {}", inc.severity, inc.host, inc.id);
}
Ok(())
}
OTLP
use denpex_sdk::agent_ingest::{OtlpEnvelope, ResourceMetrics};
let env = OtlpEnvelope::new()
.add_resource_metrics(ResourceMetrics::new(gpu_uuid));
client.submit_otlp(env).await?;
Compatibility
- Rust 1.78+.
- Async runtime: tokio 1.x.
Tests
denpex-sdk/tests/:
- 3 unit tests per module.
- 1 integration test against a mock server (via
wiremock).