Suivez les Progrès de vos Applications Concurrentes avec Prodash
Vous travaillez sur un projet complexe avec plusieurs processus en parallèle ? Vous avez besoin d'une solution simple et efficace pour suivre leur progression ? Découvrez Prodash, la bibliothèque Rust qui vous permet d'intégrer facilement des rapports d'avancement dans vos applications concurrentes.
Prodash offre une API intuitive et propose différents rendus pour visualiser l'état d'avancement de vos tâches. Son interface utilisateur basée sur un terminal est fournie par défaut et peut être personnalisée.
Pourquoi utiliser Prodash pour le suivi de progrès de vos application ?
- Intégration simple : API pragmatique et facile à utiliser pour une intégration rapide.
- Visualisation flexible : Différents rendus disponibles, dont une interface utilisateur en terminal.
- Personnalisation : Nombreuses fonctionnalités disponibles pour adapter Prodash à vos besoins.
- Suivi transparent: Visualisez la progressions grâce à des insertions et mises à jour rapides.
- Gestion des messages : Profitez d'un tampon de messages pour signaler les succès et les échecs.
Comment démarrer avec Prodash ?
- Consultez la documentation : Rendez-vous sur https://docs.rs/prodash pour découvrir des exemples concrets.
- Lancez la démo : Exécutez
cd prodash && cargo run --all-features --example dashboard
pour tester l'application de démonstration.
Il est simple d'implémenter un suivi de progression d'applications concurrentes.
Les "Feature Toggles" de Prodash: Adaptez la bibliothèque à vos besoins
Prodash est livré avec une série d'options ("feature toggles") qui vous permettent de l'adapter précisément à votre projet. Voici quelques exemples :
progress-tree
(par défaut) : Fournit les traitsProgress
etRoot
pour une utilisation avec les rendusrender-line
etrender-tui
, basés surdashmap
.progress-tree-hp-hashmap
: Registry haute performance des nœuds de l'arbre de progression en cas d'insertions et suppressions très fréquentes. Attention : Si cela s'avère nécessaire, la visualisation de l'arbre de progression risque d'être difficilement interprétable.progress-tree-log
(par défaut) : Si la journalisation (cratelog
) est initialisée, un log sera utilisé pour afficher tous les messages fournis àtree::Item::message(…)
et ses dérivés. Attention : Peut interférer avecrender-tui
ourender-line
.
Ces "features" permettent de configurer finement le comportement de Prodash.
Différents types de "Renderers" pour la visualisation du progrès
Prodash propose plusieurs "renderers" pour visualiser la progression de vos applications.
-
render-line
: Un rendu minimaliste basé sur des lignes, idéal pour les environnements avec des contraintes de ressources.- Support de la spécification clicolors et no-color.
- Support d'un délai initial avant l'affichage de la progression.
Nécessite l'activation d'un de ces "feature flags" (mutuellement exclusifs) :
* `render-line-crossterm` : Utilise le backend `crossterm`. * `render-line-termion` : Utilise le backend `termion`.
-
render-tui
: Une interface utilisateur complète en terminal, affichant tous les détails de l'état d'avancement.Nécessite l'activation d'un de ces "feature flags" (mutuellement exclusifs) :
* `render-tui-crossterm` : Utilise le backend `crossterm`. * `render-tui-termion` : Utilise le backend `termion`.
Formats d'unité pour une meilleure lisibilité
Prodash est compatible avec différents formats d'unité pour afficher les données de manière plus compréhensible :
unit-bytes
: Affichage dynamique des octets, utilisant le cratebytesize
.unit-human
: Affichage des nombres dans un format plus "humain", utilisant le cratehuman_format
.unit-duration
: Affichage des durées en utilisant le format convivial du cratejiff
.
Ces formats d'unité améliorent considérablement la lisibilité des informations affichées (suivi de progrès amélioré).
Limitations actuelles et pistes d'amélioration
Bien que performant, Prodash pour applications concurrentes connait quelques limitations :
- Le "renderer" en ligne peut être limité dans la quantité d'informations qu'il peut afficher.
- La structure de données sous-jacente,
dashmap
, n'est pas sans risque. - Le nombre de tâches concurrentes sur un même niveau de l'arbre ne doit pas dépasser 2^16.
Ces limitations sont connues et des améliorations sont envisagées.
Conclusion : Prodash, un outil puissant pour le suivi de vos applications Rust
Prodash est une bibliothèque flexible et performante qui vous permet de suivre facilement la progression de vos applications concurrentes en Rust. Grâce à ses nombreuses options de configuration et ses différents "renderers", vous pouvez l'adapter à vos besoins spécifiques. Commencez dès aujourd'hui à l'intégrer dans vos projets !