Statistiques des requêtes
Via le sous-système d'utilisation, ThingWorx Platform fournit un espace de noms de statistiques pour les opérations liées aux requêtes à l'exécution. L'espace de noms racine de toutes les statistiques liées à une requête prend un préfixe twx.stats.query. Les statistiques sont rassemblées pour une opération de requête spécifique appelée opération MIPSP (Model and Indexed Property Search Provider) gérée par un fournisseur de persistance. Si le fournisseur de persistance prend en charge les opérations MIPSP, ThingWorx essaiera d'optimiser la recherche en fonction des paramètres d'entrée de la requête à l'aide d'une combinaison de stratégies de filtrage de la base de données et du cache. Les fournisseurs de persistance Postgres, MSSQL et Azure SQL fournissent ce type de fonctionnalité de recherche.
Activation des statistiques des requêtes
Les statistiques des requêtes peuvent être activées dans le sous-système d'utilisation. Consultez la rubrique Utilisation du sous-système pour en savoir plus.
Gestion des statistiques des requêtes
Lors de l'exécution d'un service QueryImplementingThingsOptimized, la collecte de mesures de requête est gérée à l'aide d'un ensemble de services sur le sous-système d'utilisation. Ces services sont disponibles dans Composer, mais ne sont actuellement pas exposés à l'extension du SDK Java.
Service GetQueryStatistics
Détails
Description
Renvoie toutes les statistiques relatives aux opérations de requête. Les résultats sont fournis sous la forme d'une table d'informations de la forme de données UtilizationStatistics. Permet d'appliquer un filtrage pour ne sélectionner qu'un sous-ensemble de statistiques pour les opérations de requête. Par exemple, pour récupérer les statistiques des opérations de requête MIPSP, vous pouvez utiliser le service GetStatistics et spécifier l'espace de noms twx.stats.query.mipsp.
Paramètres
maxItems
Nombre maximal d'éléments à renvoyer
Type de base NUMBER
sortColumnName
Nom de la colonne de la table d'informations des résultats sur laquelle le tri doit être effectué
Type de base STRING
Valeur par défaut : count
sortAscending
Ordre de tri : croissant ou décroissant
Type de base BOOLEAN
Valeur par défaut : false
Exemple de résultat
Pour plus d'informations, consultez la section Interprétation des statistiques des requêtes ci-dessous.
Service WriteQueryStatisticsReport
Détails
Description
Ecrit les statistiques des requêtes.
Paramètres
fileType
Type de fichier dans lequel écrire les statistiques
Type de base STRING
Valeur par défaut : csv
Valeur autorisée : csv
maxItems
Nombre maximal d'éléments à renvoyer
Type de base NUMBER
sortColumnName
Nom de la colonne de la table d'informations des résultats sur laquelle le tri doit être effectué
Type de base STRING
Valeur par défaut : count
sortAscending
Ordre de tri
Type de base BOOLEAN
Valeur par défaut : false
Exemple de résultat
Service ResetQueryStatistics
Détails
Description
Réinitialise les statistiques des requêtes.
Paramètres
N\A
Résultat
En cas de succès, aucun résultat n'est fourni.
Interprétation des statistiques des requêtes
Si vous effectuez une opération de recherche, par exemple à l'aide du service QueryImplementingThingsOptimized d'un modèle d'objet ou d'une forme d'objet, une opération MIPSP est exécutée. Dans le cadre de cette opération, les statistiques voulues sont capturées sous un sous-noeud de l'espace de noms des statistiques de requête racine nommé mipsp.
Toute statistique affichant un préfixe twx.stats.query.mipsp indique que la mesure est collectée dans le cadre d'opérations MIPSP.
Les statistiques de requête MIPSP génèrent les sous-noeuds de statistiques ci-après lors de l'exécution du service QueryImplementingThingsOptimized. Chacune des statistiques fournies par ces "sous-noeuds de clé de nom" fournit des données de durée minimale, maximale et moyenne d'exécution, ainsi que de décompte d'exécutions, qui, à chaque appel de la fonctionnalité nommée, sont résolues dans ces colonnes. A mesure que de nouveaux appels se produisent, chaque "clé de nom" de statistique est mise à jour pour refléter les nouvelles valeurs sur les requêtes au service GetQueryStatistics.
Sous-noeud
Noeud parent
Chemin complet
Détails
supportdetermination
mipsp
twx.stats.query.mipsp.supportdetermination
Fournit les statistiques utiles pour déterminer comment optimiser et prendre en charge la requête en fonction du paramètre fourni.
Par exemple, si un paramètre namemask est fourni en entrée d'une requête, cette fonctionnalité supportdetermination déterminera si le paramètre namemask peut être pris en charge. Les résultats de supportdetermination pour namemask permettront à la plateforme de décider de la manière d'optimiser la requête.
Les statistiques indiquent la durée d'exécution et le nombre de fois que la fonctionnalité supportdetermination a été exécutée pour les diverses permutations du paramètre d'entrée traité.
interrogate
mipsp
twx.stats.query.mipsp.interrogate
Fournit des statistiques qui demandent à un fournisseur de persistance le type de fonctionnalité de recherche qu'il fournit.
Par exemple, si un paramètre namemask est fourni, le fournisseur de persistance cherchera à savoir s'il prend en charge cette fonctionnalité de recherche.
searchthingnames
db
twx.stats.query.mipsp.db.searchthingnames
Fournit des statistiques pour toute opération amenée à utiliser la base de données pour rechercher des noms d'objet répondant aux paramètres de recherche afin d'optimiser la recherche.
searchthingnames.buildquery
searchthingnames
twx.stats.query.mipsp.db.searchthingnames.buildquery
Fournit les statistiques utiles pour construire la requête SQL nécessaire pour effectuer une recherche de noms d'objet dans la base de données.
Les durées minimale, maximale et moyenne et les décomptes de cette mesure sont des statistiques spécifiques et uniques à la fonctionnalité buildquery de l'opération searchthingnames. Cependant, les statistiques de searchthingnames fournies par twx.stats.query.mipsp.db.searchthingnames incluent les statistiques de la fonctionnalité buildquery, de sorte que :
Pour A = "twx.stats.query.mipsp.db.searchthingnames",
et B = "twx.stats.query.mipsp.db.searchthingnames.buildquery",
nous avons A – B = C, où C correspond aux données de décompte/durée d'exécution auxquelles ne contribue pas la fonctionnalité buildquery de searchthingnames. C correspond aux données de décompte/durée pour l'exécution de la requête sur la base de données, sans prise en compte de l'étape de génération de la requête SQL exécutée sur la base de données lors de l'opération searchthingnames.
getpropertyvtqcount
db
twx.stats.query.mipsp.db.getpropertyvtqcount
Fournit des mesures statistiques, des mesures parentes et des mesures agrégées pour les sous-statistiques des paramètres buildquery et buildfilter. Ces statistiques incluent les valeurs de durée et de décompte de chacun de ces sous-ensembles.
getpropertyvtqcount.buildquery
getpropertyvtqcount
twx.stats.query.mipsp.db.getpropertyvtqcount.buildquery
Statistiques similaires à celles de twx.stats.query.mipsp.db.searchthingnames, mais pour le service getpropertyvtqcount sur le sous-système d'utilisation et non pour une opération searchthingnames.
Le service GetPropertyVTQCount est utilisé par la fonction Phone Home de ThingWorx Platform. Pour chaque période de reporting, cette API est appelée pour récupérer les statistiques à rapporter dans les mesures de la fonction. Deux décomptes ou davantage sont visibles même après une réinitialisation si la période de reporting a entraîné une collecte de mesures à rapporter dans le temps écoulé depuis que les mesures de twx.stats.query ont été réinitialisées.
getpropertyvtqcount.buildFilters
getpropertyvtqcount
twx.stats.query.mipsp.db.getpropertyvtqcount.buildfilters
Statistiques collectées pour le traitement de l'entrée de filtres et de collections de filtres de requête dans une construction interne pour créer une requête SQL visant à récupérer les données de décompte property_vtq. Ces valeurs de durée minimale et maximale incluent respectivement le temps de création d'un filtre de requête simple jusqu'à celui nécessaire pour des collections de filtres imbriqués complexes, respectivement.
Est-ce que cela a été utile ?