25-03#
The USE Method#
The USE Method via Node Exporter - USE Method / Node | Grafana Labs
Also: node_exporter node-mixin
dropshot - Rust#
Dropshot is a general-purpose crate for exposing REST APIs from a Rust program.
use dropshot::ApiDescription;
use dropshot::ConfigDropshot;
use dropshot::ConfigLogging;
use dropshot::ConfigLoggingLevel;
use dropshot::HandlerTaskMode;
use dropshot::ServerBuilder;
use std::sync::Arc;
#[tokio::main]
async fn main() -> Result<(), String> {
// Set up a logger.
let log =
ConfigLogging::StderrTerminal {
level: ConfigLoggingLevel::Info,
}
.to_logger("minimal-example")
.map_err(|e| e.to_string())?;
// Describe the API.
let api = ApiDescription::new();
// Register API functions -- see detailed example or ApiDescription docs.
// Start the server.
let server = ServerBuilder::new(api, Arc::new(()), log)
.start()
.map_err(|error| format!("failed to start server: {}", error))?;
server.await
}
Grafana Pyroscope#
via grafana blog article about Loki 3.4.
The Ride Share Tutorial:
The application is a Python Flask app that simulates a ride-sharing service.
pdfarranger#
reorder/remove/add/rotate pages
sudo apt install pdfarranger