Ğ1-monit version majeure 0.2

Origine du bug trouvée et corrigée. Correctif 0.3.1 déployé en prod :slight_smile:

C’était une erreur de noob, j’avais juste oublier de mettre un verrou sur la mise à jours du cache pour éviter que plusieurs requêtes ne le modifie en même temps, du coup chaque fois que 2 personnes demandait une page en même temps le cache devenait incohérent…

2 Likes

Je rappelle ou précise pour ceux qui ne le saurait pas que toutes les data de chaque page de g1-monit sont récupérables au format JSON pour en faire ce que vous voulez :slight_smile:

par exemple si @kimamila veut se servir des données de la page willMembers dans cesium : https://g1-monit.elois.org/willMembers?format=JSON

Ce qui veut dire que je pourrais créer une API avec une doc et tout, bon peut etre cet été !

3 Likes

Oh ! tu fais de préciser, j’avais louper ca. Cool !! :wink:
Je vais pouvoir mettre une jolie UI à tout ca, dans Cesium ^^

Par contre, as tu moyen de définir un endpoint pour que Cesium sache distinguer cette capacité de ton noeud Duniter ?
genre MONITOR_API (ou ce que tu veux :wink: )

1 Like

Ben quoi qu’est-ce qu’elle a l’UI d’@elois ?!

On peut imaginer qu’en plus de la doc ça pourra valoir le coup qu’on normalise les EP de cette API, dans leur nommage notamment.

@elois d’ailleurs, j’ai bien compris, ça utilise un nœud ElasticSearch ? Pourquoi et comment ? Si t’as le temps de me montrer au Havre comment c’est configuré ça me branche bien !

@florck alors non c’est @kimamila qui utilise un nœud ElasticSearch pour cesium+, moi j’utilise directement les tables d’index du nœud duniter, je vais vous expliquer ça le vendredi matin :slight_smile:

Mais on pourrais très bien envisager de recoder g1-monit pour se baser entièrement sur un nœud ElasticSearch ou sur autre chose !

1 Like

ah voui ok !

Vivement le Havre que ça soit plus clair toutes ces options et ces briques technique possibles :slight_smile:

ça fait partie des trucs que je trouve super, c’est que vraiment le champ des possibles est vraiment large !

1 Like

done :slight_smile:

Je ne peux répondre que de mon point de vue, mais il n’a pas forcément de sens pour les autres… alors à quoi bon ? :wink:
En deux mots : je code dans Cesium tout ce qui me parait pratique pour mon usage, d’abord personnel.

Est-ce normal que ton tableau renvoi un premier élément vide ? :wink:
exemple : https://g1-monit.elois.org/willMembers?lg=fr&format=JSON

En fait, pour intégrer cela (willMembers) dans Cesium+, je vais plutot faire un indexation régulière dans le noeud ES. Ainsi, ton noeud ne sera pas embêter

non c’est un bug, je corrigerai ça en fin de semaine la je suis plein jusqu’à jeudi !

Fais ce que tu veut je ne crains pas trop la charge sur ce serveur là, au pire ça me forcera a optimiser ><

1 Like

C’était aussi pour plaisanter !

Je respecte beaucoup les gens doués pour faire de l’UI et de l’UX en étant parfaitement incapable !

Deux nouveaux co-écrivains de la blockchain Ğ1 en ce lundi 5 Juin portant à 39 le nombre total de co-écrivains :slight_smile:

Il s’agit de @Loda et @florck respectivement aux blocs #23555 (16h34*) et #24703 (17h16*)
*heure blockchain

2 Likes

@elois Yo ! Par contre ça va être long (à peu près l’infini) avant que je puisse te rattraper :wink:

Nah attends d’avoir ta brique, tu vas voir, ça ira plus vite :joy:

1 Like

C’est marrant, j’ai écrit le premier block passé ma certification !
Celui là est passé. Les suivants, avant que je restreigne l’utilisation CPU, bien j’ai crashé 3 fois mon serveur…

Étonnant, tu l’avais mis à 100% ?

Non, mais par contre, le container LXC dans lequel il était avait une nice très faible et avait le droit d’utiliser les 8 core, donc je pense que les process envoyés par ce container sont passé en priorité et ont laminé les autres !

Là je tente la remontée en rajoutant coeur à coeur, avec un nice élevé.

Ca y ai j’ai réussi à faire fonctionner un plugin currency-monit chez moi, si quelques uns peuvent tester pour me dire si ça fonctionne aussi chez vous (@cgeek ?) :

Pour l’installer :
téléchargez la release module-beta : https://github.com/duniter/duniter-currency-monit/releases/tag/module-beta

décompressez la à l’emplacement de votre choix, puis pluggez le module sur votre noeud duniter :

ça fonctionne depuis la web ui avec file:///patch/to/your/location/duniter-currency-monit-module-beta

Sinon en ligne de commande :

duniter plug file:///patch/to/your/location/duniter-currency-monit-module-beta

J’ai supprimer les pages membersCount et pubkeyBalance, car elles utilisent un cache qui ne fonctionne pas en mode module. Je vais remplacer une grosse partie de ce cache par une bdd dédiée à monit mais ça me prendra un peu de temps !

EDIT : une fois le module installé il vous faut redémarrer votre noeud duniter puis vous rendre à l’adresse localhost:10500/currency-monit/.

Si vous lancez votre nœud duniter avec la webui alors le module currency-monit sera automatiquement lancé, en revanche si vous lancez duniter sans la web ui vous devez utiliser la commande currency-monit.
De plus, le module ne fonctionne pas en mode demon, vous pouvez donc faire :

duniter currency-monit

ou

duniter direct_webstart
4 Likes

Testé à l’instant avec Duniter en mode développement. Ça fonctionnel NICKEL !!

Le plus simple pour l’installation, c’est de passer par l’UI et entrer l’URL :

https://github.com/duniter/duniter-currency-monit/archive/module-beta.tar.gz

Puis de redémarrer.

Il ne te manque plus qu’à définir un nouveau menu à Duniter UI pour accéder à ton module, et ce sera parfait ! :slight_smile: L’exemple est ici : https://dev.cgeek.fr/cgeek/rml9-web-module

Excellent boulot Eloïs, comme d’hab !


edit: par contre de mon côté, j’ai encore un peu de boulot avant que ça ne tourne vraiment dans l’application desktop, mais ça devrait aller d’ici demain !

4 Likes

En fait c’est déjà fait mais ça ne fonctionne pas, j’ai eu l’icone a un moment pendant mes tests puis je ne l’avais plus au moment de faire la beta release, pour une raison que j’ignore…
si tu à une idée le code est ici : https://github.com/duniter/duniter-currency-monit/blob/dev-module/injection/menu.js