Me gustaría poder medir las funciones de nuestra aplicación que se están utilizando. Por ejemplo, cuántas ventanas determinadas se abren, se hacen clic en ciertos controles. Me imagino una herramienta que mide esto y envía un informe a un servidor web, que puede procesarlo para crear datos significativos¿Existe una biblioteca C++ o Qt disponible para medir el uso de funciones de una aplicación?
Respuesta
Primera pregunta: ¿deberías hacerlo? A la gente no le gusta cuando su software llama a su casa sin su consentimiento. Pero asumiendo que están de acuerdo con él, entonces:
Es técnicamente posible, con dos enfoques: automático o manual. Por supuesto, dada su pregunta, supongo que está usando Qt.
automática:
- dar un nombre propio a toda la QObject que desea rastrear
- instalar un filtro de eventos en su aplicación a coger toda la ChildEvent acerca de los objetos que se crean y destruyen.
- del ChildEvent, puede extraer el object's name
- , entonces ya puede registrar la frecuencia con que se crea ese objeto. También puede utilizar la oportunidad de añadir un detector de eventos para ese objeto específico, para ser notificado cuando se muestra o se oculta o la pista de otro tipo de uso
- registro de todo a un archivo de registro
Manual:
- agregue declaraciones de registro a la parte relevante de su código que desea rastrear.
final:
- enviar el archivo de registro en una base regular
Y no se olvide de vigilar el tamaño de su archivo de registro. Los errores de "falta de espacio en el disco" pueden ser muy molestos. – pmr
Es una herramienta valiosa para las versiones beta públicas, solo para ver la cobertura de funciones que realmente alcanzó. – peterchen
Dudo que esta pregunta sea sobre hacer esto sin el consentimiento del usuario. Después de todo, generalmente hay leyes con respecto a la recopilación y retención de datos y, al menos en Europa, no se puede seguir simplemente rastreando al usuario sin que lo sepan (excepto en las páginas web donde es esencialmente imposible probar que se están rastreando sus interacciones ... hurra) . – Joey
supongo, su respuesta es "No". No creo que haya tales bibliotecas.
También creo que la mejor solución aquí es el registro, lo que significa que debe introducir manualmente algunas funciones de registro en las funciones principales de su programa y devolver el archivo de registro. Cuando se trata de registro, puede considerar usar programación orientada a aspectos (y hay son tales herramientas para C++), puede simplificar su tarea ...
- 1. ¿Existe una biblioteca para funciones relacionadas con primo para Python?
- 2. Cómo medir la memoria gráfica Uso de una aplicación WebGL
- 3. ¿Existe una biblioteca de consola más elegante para C#?
- 4. ¿Existe una biblioteca o marco para configurar las preferencias desde dentro de una aplicación de iPhone?
- 5. ¿Cómo medir el uso de memoria de una aplicación Rack o Sinatra?
- 6. ¿Buen lenguaje funcional multiplataforma para uso de biblioteca en una aplicación C++?
- 7. ¿Está Qt clasificado como una biblioteca de C++? Si no es una biblioteca, ¿cómo clasificaría QT?
- 8. ¿Existe una biblioteca de LINQ para descansar para C#
- 9. ¿Existe una biblioteca de métodos de extensión para C#? o compartir su propia
- 10. ¿Cómo usar una biblioteca C++ en una aplicación C#?
- 11. Uso de una biblioteca de Scala que solo está disponible para una versión anterior de Scala
- 12. ¿Cómo uso una biblioteca C++ de C# y .NET?
- 13. ¿Existe una biblioteca de formato de SQL gratuita para .NET?
- 14. ¿Existe una biblioteca de contenedores concurrente para C++
- 15. ¿Existe una biblioteca de correo electrónico con fluidez para C#?
- 16. Comentarios de C++ para funciones en el creador de Qt
- 17. P/Invoke o C++/CLI para envolver una biblioteca C
- 18. Uso de una biblioteca Java en una aplicación Objective-C para Mac y puesta en el App Store de Mac
- 19. ¿Hay una biblioteca de plataforma cruzada C++?
- 20. ¿Cómo medir el rendimiento de una aplicación Java?
- 21. Uso de Ir a escribir una biblioteca para una aplicación de iPhone
- 22. biblioteca portátil zip para C/C++ (no es una aplicación)
- 23. Uso de una biblioteca de licencia BSD, que utiliza una biblioteca GPL, para el iPhone
- 24. Recopilación multiplataforma de una aplicación Qt
- 25. Implementar el caché correctamente en una biblioteca de clases para su uso en una aplicación asp.net
- 26. ¿Cómo uso una función de biblioteca Haskell?
- 27. ¿Hay una biblioteca UPnP para .NET (C# o VB.NET)?
- 28. C# Biblioteca para una fácil reflexión dinámica
- 29. ¿Cómo dllexport una clase de C++ para su uso en una aplicación de C#
- 30. ¿Existe una base de datos tipo "Northwind" disponible para MySQL?
Como dijo SadSido, probablemente no. Hemos buscado, y luego hecho nuestro, que consiste básicamente en un enganche de mensaje de Windows (registrando acciones del usuario como "botón X hecho clic"), declaraciones de registro para características relevantes y un conjunto de scripts de Python para filtrar, formatear y agregar el resultados. – peterchen