J'aimerais pouvoir mesurer les fonctionnalités de notre application qui sont utilisées. Par exemple, combien certaines fenêtres sont ouvertes, certains contrôles sont cliqués. Je peux imaginer un outil qui mesure cela et envoie un rapport à un serveur Web, qui peut ensuite le traiter pour en créer des données significativesY at-il une bibliothèque C++ ou Qt disponible pour mesurer l'utilisation des fonctionnalités d'une application?
Répondre
Première question: devriez-vous le faire? Les gens n'aiment pas quand leurs logiciels téléphones à la maison sans leur consentement. Mais en supposant qu'ils sont d'accord avec cela:
C'est techniquement possible, avec deux approches: automatique ou manuelle. Bien sûr, compte tenu de votre question, je suppose que vous utilisez Qt.
automatique:
- donner un nom propre à tous les QObject que vous voulez tracer
- installer un filtre d'événement sur votre application pour attraper tous les ChildEvent sur des objets qui sont créés et détruits.
- à partir du ChildEvent, vous pouvez extraire le object's name
- puis vous pouvez déjà vous connecter à quelle fréquence cet objet est créé. Vous pouvez également utiliser la possibilité d'ajouter un écouteur d'événement à cet objet spécifique, pour être informé quand il est affiché ou masqué ou suivre un autre type d'utilisation
- tout journal dans un fichier journal
Manuel:
- Ajoutez des instructions de journal à la partie pertinente de votre code que vous souhaitez suivre.
final:
- envoyer le fichier journal sur une base régulière
Et n'oubliez pas de garder un œil sur la taille de votre fichier journal. "L'espace disque est insuffisant" Les erreurs peuvent être très gênantes. – pmr
C'est un outil précieux pour les bêtas publiques - juste pour voir la couverture des fonctionnalités que vous avez vraiment atteint. – peterchen
Je doute que cette question était de le faire sans le consentement de l'utilisateur. Après tout, il existe généralement des lois concernant la collecte et la conservation des données et au moins en Europe, vous ne pouvez pas suivre l'utilisateur sans le savoir (sauf pour les pages Web où il est essentiellement impossible de prouver que vos interactions sont suivies ...) . – Joey
Je suppose que votre réponse est "Non". Je ne pense pas qu'il existe de telles bibliothèques.
Je pense également que la meilleure solution ici est la journalisation, ce qui signifie que vous devez introduire manuellement certaines fonctions de journal dans vos fonctions principales du programme et renvoyer le fichier journal. Quand il s'agit de la journalisation, vous pouvez envisager d'utiliser la programmation orientée aspect (et sont tels outils pour C++), cela peut simplifier votre tâche ...
- 1. Jdesktop ou Qt pour une meilleure application de bureau
- 2. Existe-t-il une bibliothèque/structure de mise à niveau automatique disponible pour Windows qui possède des fonctionnalités similaires à celles fournies par Sparkle for Mac OSX?
- 3. Comment faire pour exécuter une application Qt?
- 4. Liaison de Qt dans une bibliothèque dynamique
- 5. Meilleure bibliothèque Java open source pour intégrer les fonctionnalités de Facebook dans une application web Java?
- 6. Y compris une bibliothèque dans Qt, pourquoi cela ne fonctionne-t-il pas?
- 7. Intégrer Rake dans une application C++? Ou y a-t-il un lac pour LUA?
- 8. Appel de fonctions dans la bibliothèque C externe à partir d'une application Qt (win32)
- 9. Utilisation d'une bibliothèque C++ dans une application Objective-C?
- 10. desktopdock ou stardock dans Qt
- 11. Y at-il des ressources de bibliothèque C similaires à la bibliothèque Boost de C++?
- 12. Comment puis-je utiliser une télécommande pour interagir avec une application Linux C ou C++?
- 13. Qt bibliothèque destructeur Question
- 14. Bibliothèque .NET ou application asp.net pour Amazon S3
- 15. Gestion des nouvelles fonctionnalités de bibliothèque dans les anciennes applications
- 16. Structure de répertoire pour une bibliothèque C++
- 17. Y a-t-il une carte de référence UML disponible?
- 18. Une bibliothèque C pour trouver des maxima locaux?
- 19. bibliothèque ou algorithme pour calculer des satellites GPS visibles
- 20. QT: problème avec la création de la bibliothèque C++
- 21. Comment déployer une application Qt sous Windows?
- 22. Application de profilage Qt qui utilise des plugins
- 23. Utilisation des fonctionnalités iPhone OS 3.0 si disponible, et des fonctionnalités 2.1 si non, dans un exécutable
- 24. Bibliothèque GetOpt pour C#
- 25. Utiliser taglib dans une application Qt
- 26. Y at-il un script disponible pour redimensionner SVG?
- 27. Bibliothèque Eye-Tracking en C#, C/C++ ou Objective-C
- 28. Bibliothèque d'aide C#/ASP.NET
- 29. bibliothèque de compression pour c et php
- 30. Minuteries pour mesurer la latence
Comme SadSido a dit, probablement non. Nous avons recherché, puis roulé les nôtres, consistant essentiellement en un hook de message Windows (consignation des actions de l'utilisateur telles que "bouton X cliqué"), des instructions de journalisation pour les fonctionnalités pertinentes et un ensemble de scripts Python pour filtrer, formater et agger le résultats. – peterchen