Usage
Depuis le dossier DashboardCampagne, executer la commande suivante :
./dashboardCampagne -definition=[fichier-definition] -config=[fichier-config] -screenshots=[dossier-screenshots]
Pour générer le dashboard [dossier-screenshots]
doit être précisé mais pas obligatoirement avec des images (le scénario sera généré vide). Il existe des fichiers d'exemple pour le fichier de def dans le dossier example
De plus, il faut remplir config.yml
avec son token.
La console sort en fin de traitement le détail par étape en fonction des versions. Cela peut être utilisé dans excel pour afficher la comparaison par étape.
Export PDF
Si wkhtmltopdf
est installé alors un export PDF se fera automatiquement à partir du fichier HTML.
Si de plus ghostscript
est installé alors le pdf sera automatiquement compressé.
Définition
...
Status | ||||
---|---|---|---|---|
|
Le dashboard Greenspector présente les résultats pour une meilleure compréhension. Il calcule en particulier l’Ecoscore Greenspector, une note gobale du service mesuré.
Il est également capable de comparer 2 versions d’une même application, si le parcours utilisateur a le même nombre de d'étapes ainsi que les mêmes noms d'étapes.
Configuration
L'exécutable dashboardCampagne
a besoin de config.yml
, definition.yml
et des ressources pour générer le dashboard de résultats. Les ressources incluent example
, i18n
, images
, site
et site_templates
. Vérifiez tous ces éléments.
Téléchargez depuis le Gitlab Greenspector et placez les dans le dossier où se trouve le
dashboardCampagne
et modifiez les avec les instructions suivantes :
Fichier de Config
Code Block | ||
---|---|---|
| ||
cfgs:
- name: "core-saas" # Nom de l'instance
url: "https://core-saas-prod.greenspector.com" # URL de l'instance
token: [MYTOKEN] # Token de l'utilisateur |
Info |
---|
Remplacez |
Fichier de Définition
Définition du dashboard
Premièrement, nous allons définir les paramètres globaux du dashboard à générer : nom, langue, type d’audit ou unités de mesure.
Code Block | ||||
---|---|---|---|---|
| ||||
################################################################################## # Dashboard definition ################################################################################## name: Mesures Application # Nom du rapport env: app # Nom d'environnement à utiliser (Relatif au fichier de config) evolutiontype: comparaison # "comparaison" ou "evolution" - Change le type des graphes de suiviversion des versionsgraphiques generationtype: # optional - define which generation type is expected by the DashboardCampagne. Possible values are "Scenarios" for scenario generation only, "Dashboard" for dashboard generation only and "All" (default) for both usembfordata: true # optional - replace kB unit to MB one. shouldgenerateevolutionperdomain: true # optional - show evolution per domain (default false) Dashboard # Optionnel - Défaut: "All" - "All", "Dashboard" ou "Scenarios". Définit quels fichiers seront générés basenetworktype: WIFI # Optionnel - Défaut: "WIFI" - "WIFI", "4G", "3G" ou "2G". Le réseau utilisé durant les mesures usembfordata: false # Optionnel - Remplace Ko par Mo shouldgenerateevolutionperdomain: false # Optionnel - Défaut: false - Evolution d'affichage par domaine pausedurationtouseforconsumption: 30.0 # optionalOptionnel float64 - set the duration in seconds used to compute energy consumption and impact of pauses (default is 30.0 seconds) language: # optional - define the language to use for exported files (among "FR" and "EN", default is "EN"). basenetworktype: # optional - the network to use for the whole document as a base. Default: WIFI version: 2.0 # optional - can be 1.0 or 2.0. Default: 2.0 web: true # optional - if measurements are web change thresholds for data consumptions - useful only version: 2.0. Default: false # Ajouter `comparisons` pour des comparaisons des métriques entre plusieurs plateformes sur le réseau WIFI comparisons: metrics: - Performance - Data - EnergySpeed - EnergyConsumption - Carbon audits: - name: [Nom de la série à afficher (exemple : "Samsung S7")] id: [ID de l'audit à récupérer (exemple : 78914)] device: [Nom du device à récupérer sur APP] network: [Réseau à utiliser ; optionnel ; valeur par défaut : WIFI] extramestime: [Temps ajoutéDéfaut: 30.0 - pause en secondes pour une étape de type PAUSE (défaut: 30.0) language: EN # Optionnel - Langue du rapport : "FR" (défaut) ou "EN" version: 2.0 # Optionnel - Défaut: 2.0 - "1.0" ou "2.0" ou "2.1" web: true # Optionnel - Défaut: false. Pour les mesures web, renseigner true pour changer les seuils de consommations de données |
Mesures
La seconde partie fait le lien entre la génération du dashboard avec les mesures stockées dans l'Atelier de mesures:
Code Block | ||||
---|---|---|---|---|
| ||||
################################################################################## # Campagne de mesure utilisée pour calculer l'Ecoscore ################################################################################## auditids: - version: v1.0.0 # Nom de version à afficher plateforme: Galaxy S9 # Nom de la plateforme affichée dans App Greenspector os: Android # "Android" ou "iOS" idwifi: [MYIDWIFI] # ID de l'audit en WIFI id4g: # Optionnel - ID de l'audit en 4G pour comparer les mesures réseau (ou id3g pour des mesures en 3G) extramestime: 1.0 # float64 - Temps en secondes ajoutées à la fin des mesuresétapes de chargement. àCe déduiretemps des perf. -n'est pas pris en secondes]compte pour la métrique de performance datacsvfile: [optionnel (utile pour iOS uniquement) - Chemin vers un .csv qui contient les data au format US et trois colonnes "auditId,step,dataUsage (kB)"] - [...] auditids: - version: [Nom de la version à afficher] plateforme: [Nom de la plateforme à aller chercher sur App] os: [Nom de l'OS = Android ou iOS] idwifi: [id de l'audit WIFI] id4g: [id de l'audit 4G - optionnel, utilisé pour comparaison de réseau] id3g: [id de l'audit 3G - optionnel, utilisé pour comparaison de réseau] id2g: [id de l'audit 2G - optionnel, utilisé pour comparaison de réseau] extramestime: [Temps ajouté à la fin des mesures de chargement à déduire des perf. - en secondes] date: [Date de la mesure à afficher] datacsvfile: [optionnel (utile pour iOS uniquement) - Chemin vers un .csv qui contient les data au format US et trois colonnes "auditId,step,dataUsage (kB)"] filternetworkonversions: [optionnel - si 'true' filtre le réseau sur chaque version fournie (idwifi, id4g ...). Par exemple, uniquement les mesures WIFI seront récupérées sur la version de idwifi. Si la valeur est 'false', alors tous les réseaux sont récupérés sur la valeur fournie. Valeur par défaut = 'true'] |
Cela permet d'afficher l'évolution des métriques entre version. Si cela n'est pas rempli, ou que uniquement l'idWifi
est rempli, il n'y a pas de courbe d'évolution.
Dans les étapes :
Code Block |
---|
- name: [Nom du step dans GSPT]
type : [Type d'étape]
energy: [A monitorer pour l’énergie - optionnel, dépend du type d'étape si pas de valeur saisie]
data: [A monitorer pour la data - optionnel, dépend du type d'étape si pas de valeur saisie]
performance: [A monitorer pour la perf - optionnel, dépend du type d'étape si pas de valeur saisie]
domain: [Domaine à associer]
order: [Ordre pour la génération du scénario]
displayname: [Nom du step à afficher dans le rapport] (optionnel, si ajouté alors ce nom remplace le champs name qui correspond à la mesure)
critical: [Est une étape critique du parcours fonctionnel] (optionnel, Par défaut false) |
Les types d'étape
Les différents types d'étapes sont les suivants :
UserAction (action ou scroll sur l'écran)
Loading (chargement d'un écran)
Pause (pause sur un écran)
En fonction du type d'étape, la sévérité sur les notations peut différer. Le type d'étape est utile également pour calculer différentes moyennes.
Par exemple :
les étapes UserAction sont moins sévèrement notées sur la performance
les étapes Pause ne sont pas prises en compte de le calcul de la performance par défaut
Si le nom de l'étape respecte le nommage suivant alors son type sera affecté automatiquement. Il peut toujours être surchargé en définissant l'option type
:
PAUSE_<nom_de_l'étape> : assigné en tant que type Pause
ACTION_<nom_de_l'étape> : assigné en tant que type UserAction
SCROLL_<nom_de_l'étape> : assigné en tant que type UserAction
CHRGT_<nom_de_l'étape> : assigné en tant que type Loading
Évaluation environnementale
Il est possible de réaliser une évaluation environnementale avec les données du dashboard et le service co2-algorithm-service en ajoutant un paramètre environmentalinput
:
Code Block |
---|
environmentalinput:
useroptions:
userlocations:
france: 97 # % users in france
world: 3 # % users in another part of the world (not in France)
usertypes:
smartphone: 55 # % users on smartphone
tablet: 1 # % users on tablet
pc: 44 # % users on PC
networkoptions:
networklocations:
france: 97 # % users in france
world: 3 # % users in another part of the world (not in France)
networktypes:
gsm2g3g: 25 # % users in 2G/3G
gsm4g5g: 25 # % users in 4G/5G
wiredfibre: 25 # % users in fiber
wiredxdsl: 25 # % users in adsl/xdsl
serveroptions:
serverlocations:
france: 100 # % server in France
world: 0 # % server in another part of the world (not in France)
servertypes:
complexserver: 100 # % complex server
simpleserver: 0 # % simple server
# parameters: # optional
# pue: 1.5 # [optional - data center PUE, minimum 1.0]
# datainput: # optional
# reqnetwork: 200 # [optional - number of http requests. (if non specified, it is deducted from the number of data exchanged on network during the scenario] |
Configuration du Proxy
Il est possible d'utiliser un proxy pour effectuer les différentes requêtes. Par défault, l'outil va chercher à récupérer des informations sur le proxy dans les variables d'environnement. Sur Windows et Mac il existe d'autres manières pour configurer le proxy qui sont elles aussi récupérées (ex: Fichier d'autoconfiguration PAC, ...). Pour savoir quels méthodes sont supportés ça se passe ici : Méthodes d'auto-configuration du proxy.
Il existe cependant une méthode de configuration manuelle du proxy. Il suffit d'ajouter au fichier config.yml
:
Code Block |
---|
proxy: http: http://monproxy.local:8080 # Proxy pour les URL en http https: http://monproxy.local:8080 # Proxy pour les URL en httpsdate: 07/12/2023 # Date de mesure à afficher |
Info |
---|
Remplacez |
Pour identifier MYIDWIFI
, allez sur l'Atelier de mesures. Sélectionnez la bonne version dans la liste et copiez le second nombre dans l’URL. C’est l’identifiant de l'audit.
...
Impact environnemental
En plus de regrouper et présenter les résultats, le dashboard propose une projection de l’impact environnemental. Dans cette partie, précisez les paramètres pour obtenir une projection précise grâce à notre modèle d’impact Greenspector.
Code Block | ||||
---|---|---|---|---|
| ||||
##################################################################################
# Paramètres d'impact environnemental (optionnel)
##################################################################################
environmentalinput:
useroptions:
userlocations:
france: 20 # % utilisateurs en France
world: 80 # % utilisateurs dans une autre partie du monde (hors France)
usertypes:
smartphone: 50 # % utilisateurs sur smartphone
tablet: 30 # % utilisateurs sur tablette
pc: 20 # % utilisateurs sur PC
networkoptions:
networklocations:
france: 20 # % utilisateurs en France
world: 80 # % utilisateurs dans une autre partie du monde (hors France)
networktypes:
gsm2g3g: 4 # % utilisateurs en 2G/3G
gsm4g5g: 15 # % utilisateurs en 4G/5G
wiredfibre: 39 # % utilisateurs en fibre
wiredxdsl: 42 # % utilisateurs en adsl/xdsl
serveroptions:
serverlocations:
france: 20 # % server en France
world: 80 # % server dans une autre partie du monde (hors France)
servertypes:
complexserver: 70 # % server complexe
simpleserver: 30 # % server simple |
Note |
---|
La somme de chacune des répartitions doit être égale à 100. |
Le paramètre du type de serveur (servertypes
) sert à estimer l’impact serveur.
Serveur simple permet de modéliser des infrastuctures avec maximum 2 VM ou conteneurs (Par exemple un front et un backend), sans compter des services tiers.
Par exemple : Une VM pour le front et une VM pour le backend.
Serveur complexe permet de modéliser le reste.
On met donc 100% à serveur complexe si l'infrastructure compte plus de 2 VM / conteneurs.
Comparaisons étape par étape
Cette partie est seulement utilisée pour comparer deux versions d’une même application.
Code Block | ||||
---|---|---|---|---|
| ||||
##################################################################################
# Comparaisons étape par étape avec une autre campagne de mesure (optionnel)
##################################################################################
comparisons:
metrics: # Métriques utilisées pour la comparaison
- Performance
- Data
- EnergySpeed
- EnergyConsumption
- Carbon
audits:
- name: S9 # Nom de la série à afficher
id: 12345 # Id de l'audit
device: Galaxy S9 # Nom de l'appareil
network: WIFI # Optionnel - "WIFI"(défaut), "4G", "3G" ou "2G"
extramestime: 1.0 # Temps ajouté à la fin des étapes de chargement. Ce temps n'est pas pris en compte pour la mesure de performance.
- [...] |
Le groupe metrics
liste les métriques sur lesquelles les versions d’une même application vont être comparées. Mettez en commentaire les métriques dont la comparaison n’est pas nécessaire d'être affichée dans le dashboard.
Le groupe audits
comprend l’ensemble des versions qui vont être comparées.
Définition des étapes
Cette dernière partie obligatoire définit quelles étapes vont être analysées.
Code Block | ||||
---|---|---|---|---|
| ||||
##################################################################################
# Définition des étapes
##################################################################################
refname: "PAUSE_reference"
steps:
- name: "PAUSE_reference"
domain: Tech
- name: "CHRGT_accueil"
domain: Accueil
- name: "PAUSE_accueil"
domain: Accueil
- name: "CHRGT_cookies"
domain: Accueil
# type: action # Optionnel - Type d'étape. Si non renseigné
# energy: true # Optionnel - Etape à utiliser pour l'énergie. Si non renseignée, la valeur dépend du type d'étape
# data: true # Optionnel - Etape à utiliser pour les données. Si non renseignée, la valeur dépend du type d'étape
# performance: true # Optionnel - Etape à utiliser pour la performance. Si non renseignée, la valeur dépend du type d'étape
# order: 1 # Optionnel - Ordre utilisé pour le rapport scénario
# displayname: # Optionnel - Nom à afficher dans le rapport au lieu du nom de la mesure
# critical: false # Optionnel - Défaut: false. Peut définir l'étape comme critique du parcours fonctionnel |
Pour chaque étape, détaillez quelle métrique doit être prise en compte ou si cette étape est critique. Pour un dashboard clair, un nom plus lisible d'étape peut être utilisé.
Info |
---|
Comme vu dans 06 - Découvrir le langage de test GDSL , les étapes sont divisées en 4 catégories : CHRGT, PAUSE, ACTION, SCROLL, respectivement pour un chargement, une pause, une action et un scroll. Les étapes de PAUSE ne sont pas prises en compte dans la performance parce qu’elles ont une durée fixe. |
Générer un dashboard
Pour générer un premier dashboard, exécutez la commande suivante :
Windows - Linux - MacOS:
Code Block | ||
---|---|---|
| ||
dashboardcampagne -config=config.yml -definition=definition.yml -screenshots=screenshots |
Le navigateur web va ouvrir et afficher le dashboard en format .html
.
De plus, un fichier .pdf
se génère seulement sur Linux.
Note |
---|
Même si le dashboardcampagne n’est pas en échec, assurez vous de vérifier les logs. Des erreurs non fatales peuvent se produire. |
...
En plus du dashboard de résultats, un deuxième fichier avec les captures avant et après chaque étape est également généré en format HTML et PDF. Ajoutez l’argument -screenshots=screenshots
à la commande dashboardCampaign
pour avoir cette fonctionnalité.
...
Export PDF
Si wkhtmltopdf
est installé alors un export PDF se fera automatiquement à partir du fichier HTML.
Si de plus ghostscript
est installé alors le pdf sera automatiquement compressé.