WhaleDeck logo

Wie man die CPU Nutzung eines Docker Container ermittelt in Rust

Geschrieben von Typ0genius profile picture @Typ0genius
Lösung
Im Bereich der Programmierung sind Effizienz und Automatisierung die Schlüssel für einen reibungslosen Arbeitsablauf und minimiert gleichzeitig Fehler. Die automatisierte Nutzung von Docker kann dabei ein wichtiger Schritt sein. Hierbei kann die Docker-API abhilfe schaffen, welche du in deine Umgebung integrieren kann. Diese robuste API ermöglicht es dir, alle Aspekte deines Docker-Setups programmatisch zu verwalten, wodurch dein Workflow erleichtert und beschleunigt wird.

Dieser kurze Blogbeitrag zeigt, wie man die CPU Nutzung eines Docker Container ermittelt in Rust. Sich mit der Docker-API auseinander setzen kann sinnvoll sein, vor allem, wenn du Aufgaben automatisieren oder wichtige Informationen aus deinem Docker-Setup zu sammeln möchtest.
Hier ist der Code für Wie man die CPU Nutzung eines Docker Container ermittelt in Rust mithilfe der Docker API
                          
                        // Required crate: bollard, tokio
// Full tokio runtime should be enabled in Cargo.toml
use bollard::Docker;
use bollard::container::{StatsOptions, Stats};
use futures_util::stream::StreamExt;

#[tokio::main]
async fn main() {
    let docker = Docker::connect_with_unix_defaults().unwrap();

    let stats_options = StatsOptions {
        stream: false,
        one_shot: true
    };
    let mut stats_stream = docker.stats("container_name", Some(stats_options));
    if let Some(stats_result) = stats_stream.next().await {
        let stats = stats_result.unwrap();
        let cpu_stats = &stats.cpu_stats;
        let pre_cpu_stats = &stats.precpu_stats;
        let cpu_delta = cpu_stats.cpu_usage.total_usage - pre_cpu_stats.cpu_usage.total_usage;
        let system_delta = cpu_stats.system_cpu_usage.unwrap_or(0) - pre_cpu_stats.system_cpu_usage.unwrap_or(0);
        let number_of_cores = cpu_stats.online_cpus.unwrap_or(0);
        let cpu_percent = if system_delta > 0 && cpu_delta > 0 {
            (cpu_delta as f64 / system_delta as f64) * number_of_cores as f64 * 100.0
        } else {
            0.0
        };

        println!("CPU Usage: {:.2}%", cpu_percent);
    }
}
                        

Der Code für, Wie man die CPU Nutzung eines Docker Container ermittelt in Rust mit der Docker-API, kratzt aber nur an der Oberfläche der Docker-API. Die Docker-API bietet eine breite Palette an Funktionen, die mit dem hier Gelernten kombiniert werden kann, um robuste Automatisierungen zu entwickeln und deine gesamten Arbeitsabläufe erheblich zu verbessern. Ob es um die Verwaltung von Containern, Images, Netzwerken oder anderen Docker-Ressourcen geht, die Docker-API ist das Werkzeug dafür.


Die Docker-API kann aber in anderen Sprachen als Rust genutzt werden. Sie ist mit vielen verschiedenen Programmiersprachen kompatibel und kann somit in vielen unterschiedlichen Bereichen eingesetzt werden. Dadurch bietet die Docker-API Entwicklern auch die Flexibilität, in einer Sprache zu arbeiten, in der sie versiert sind, und macht sie so zu einem super Werkzeug für eine vielfältige Entwicklergemeinschaft.


Wenn du aber erstmal tiefer in Rust eintauchen möchtest, bedenke die Vielzahl von weiteren API-Funktionen, die für dich nützlich werden könnten. Diese eröffnen nicht nur eine Welt voller Automatisierungsmöglichkeiten, sondern lassen dich auch deutlich effizienter arbeiten.

WhaleDeck
Keine Lust mehr auf Scripten, um dein Docker-Setup zu überwachen und zu steuern? Mit WhaleDeck genießt du eine vereinfachte, code-freie Erfahrung. Klicke hier, um zu starten oder mehr über die Funktionen zu erfahren. WhaleDeck auf iPhone, iPad und Mac