Vorrei poter misurare le funzionalità della nostra applicazione che vengono utilizzate. Ad esempio, quante finestre vengono aperte, alcuni controlli vengono fatti clic. Posso immaginare uno strumento che misuri questo e invia un rapporto a un server web, che può ulteriormente elaborarlo per creare dati significativi da essoÈ disponibile una libreria C++ o Qt per misurare l'utilizzo delle funzionalità di un'applicazione
risposta
Prima domanda: dovresti farlo? Le persone non amano quando il loro software telefoni casa senza il loro consenso. Ma supponendo che stiano bene allora:
È tecnicamente possibile, con due approcci: automatico o manuale. Naturalmente, data la tua domanda, presumo che tu stia usando Qt.
automatica:
- dare un nome proprio di tutti i QObject che si desidera tracciare
- installare un filtro evento sulla vostra applicazione di catturare tutti i ChildEvent sugli oggetti che vengono creati e distrutti.
- dal ChildEvent, è possibile estrarre il object's name
- allora si può già accedere quanto spesso si crea l'oggetto. È inoltre possibile utilizzare l'opportunità di aggiungere un listener di eventi per quell'oggetto specifico, ricevere una notifica quando viene visualizzato o nascosto o traccia altro tipo di utilizzo
- log di tutto per un file di log
manuale:
- aggiungi dichiarazioni di registro alla parte pertinente del codice che desideri monitorare.
finale:
- inviare il file di log su base regolare
E non dimenticare di tenere d'occhio la dimensione del tuo file di registro. Gli errori "Spazio su disco" possono essere molto fastidiosi. – pmr
È uno strumento prezioso per le beta pubbliche: solo per vedere la copertura delle funzioni che hai davvero raggiunto. – peterchen
Dubito che questa domanda riguardasse il fare questo senza il consenso dell'utente. Dopotutto, di solito ci sono delle leggi che riguardano la raccolta e la conservazione dei dati e, almeno in Europa, non è possibile andare in giro semplicemente rintracciando l'utente senza che lo sappiano (eccetto per le pagine web dove è essenzialmente impossibile dimostrare che le tue interazioni vengono monitorate ... evviva) . – Joey
immagino, la tua risposta è "No". Non penso che ci siano tali librerie.
Penso anche che la soluzione migliore qui sia la registrazione, il che significa che dovresti introdurre manualmente alcune funzioni di registro nelle funzioni del tuo programma principale e inviare di nuovo il file di registro. Quando si tratta di registrazione, si può prendere in considerazione l'uso della programmazione orientata all'aspetto (e lì sono tali strumenti per C++), può semplificare il compito ...
- 1. È disponibile una definizione per Qt gui?
- 2. Libreria di file delle proprietà per C (o C++)
- 3. Funzionalità delle funzioni di libreria di Mathematica
- 4. Che cos'è una buona libreria di manipolazione delle matrici disponibile per C?
- 5. Libreria di grafici per Qt
- 6. Qualsiasi buona libreria C o C++ disponibile per gestire grandi nuvole di punti?
- 7. SHA512 in Silverlight non è disponibile, è disponibile una libreria gestita?
- 8. Qt è classificato come libreria C++? Se non una biblioteca, come classificheresti il QT?
- 9. C'è una buona libreria di riflessioni disponibile per Scala?
- 10. Espression Trees è una funzionalità di base del linguaggio C#?
- 11. Esiste una libreria USB cross platform C++?
- 12. Qt :: WA_TranslucentBackground disponibile ovunque?
- 13. Ricerca di una libreria C o C++ che fornisce una funzionalità simile ai canali di Google Go
- 14. QT è disponibile per piattaforme Android e iPhone?
- 15. Piani di libreria per C++ 0x?
- 16. Libreria di modifica delle immagini per Android
- 17. Struttura di directory per una libreria C++
- 18. È disponibile una visualizzazione ad albero delle chiamate per il profiler jvisualvm o NetBeans?
- 19. Uso di una libreria Scala che è disponibile solo per una versione precedente di Scala
- 20. Ricerca funzionalità PostMessage in Qt
- 21. È disponibile un'astrazione di tipo `django model` per C++?
- 22. L'utilizzo delle funzionalità di linux disabilita LD_PRELOAD
- 23. L'elenco delle parole riservate e dei builtin Python è disponibile in una libreria?
- 24. C o C++ ha una libreria regolare di espressioni regolari?
- 25. Inizializzazione delle risorse qt incorporate nella libreria statica
- 26. Esiste una libreria disponibile per la compressione in Javascript
- 27. È possibile implementare la funzionalità SystemTrayIcon nell'applicazione Qt Quick
- 28. Console non disponibile nella libreria di classi C#
- 29. videoteche Qt C++
- 30. Il plugin di integrazione Qt Eclipse è ancora disponibile per il download?
Come detto da SadSido, probabilmente no. Abbiamo cercato e poi eseguito il rollover, consistendo essenzialmente in un hook di messaggi di windows (registrazione di azioni dell'utente come "tasto X cliccato"), istruzioni di registro per le funzionalità rilevanti e un set di script python per filtrare, formattare e aggirare il risultati. – peterchen