Suivi d'utilisation de l'API
Vue d'ensemble
Les endpoints de suivi d'utilisation permettent de suivre et d'analyser les requêtes effectuées sur le système Pulse. Elle fournit des statistiques détaillées sur le volume des requêtes, le temps d'exécution, le score de complexité, et les interactions avec les appareils.
Facturation basée sur l'utilisation
Actuellement, la facturation est déterminée en fonction du nombre d'appareils utilisés dans le mois. Chaque appareil actif pendant une période donnée est comptabilisé pour établir les coûts mensuels d'utilisation.
Le score de complexité, bien que déjà calculé et stocké, n'est pas encore utilisé pour la facturation. À terme, la facturation pourrait également prendre en compte la charge de complexité des requêtes pour affiner les coûts en fonction de l'utilisation réelle des ressources.
RequestLog
{
entreprise: Entreprise;
device: Device; // L’appareil concerné si applicable
route: string;
method: string;
timestamp: Date;
executionTime: number; // Temps de la requête en ms
responseSize: number; // Taille de la réponse en octets
complexityScore: number; // Score de complexité de la requête
}Paramètres de requête
Toutes les requêtes de statistiques peuvent etre filtrées par les parametres ci-dessous. Tous les parametres sont facultatifs:
enterpriseId
string
Filtrer les logs par entreprise
startDate
string
Date de début du filtrage (format ISO)
endDate
string
Date de fin du filtrage (format ISO)
page
number
Numéro de la page pour la pagination
limit
number
Nombre de logs par page
1. Récupérer les logs d'utilisation
GET /stats
Renvoie la liste des logs d'utilisation enregistrés.
Headers
Content-Type
application/json
Authorization
Bearer <token>
Response
[
{
"entreprise": Entreprise //"entreprise",
"device": [Device], //"Tableau d'appareil"
"route": string //"Endpoint appelé",
"method": string //"Méthode HTTP",
"timestamp": Date //"Date et heure",
"executionTime": int //"Temps en millisecondes",
"responseSize": int //"Taille en octets",
"complexityScore": int //"Score calculé"
}
]{
"message": "Erreur serveur."
}2. Synthèse
3. Nombre de requêtes
GET /stats/requests
Headers
Content-Type
application/json
Authorization
Bearer <token>
Response
[
{
"enterprise": Entreprise,
"totalRequests": int
},
{
"enterprise": Entreprise,
"totalRequests": int
}
]{
"message": "Erreur serveur."
}4. Complexité des requêtes
GET /stats/complexity
Headers
Content-Type
application/json
Authorization
Bearer <token>
Response
[
{
"enterprise": Entreprise,
"averageComplexity": int
},
{
"enterprise": Entreprise,
"averageComplexity": int
}
]{
"message": "Erreur serveur."
}5. Activité des appareils
GET /stats/devices
Headers
Content-Type
application/json
Authorization
Bearer <token>
Response
[
{
"device": Device,
"totalRequests": int
},
{
"device": Device,
"totalRequests": int
}
]{
"message": "Erreur serveur."
}6. Routes les plus utilisées
GET /stats/routes
Headers
Content-Type
application/json
Authorization
Bearer <token>
Response
[
{
"route": string,
"totalRequests": int
},
{
"route": string,
"totalRequests": int
}
]{
"message": "Erreur serveur."
}Mis à jour