Análise de uso de software em C # [fechado]

Eu tenho um projeto no qual estou trabalhando atualmente e gostaria de implementar algum tipo de rastreamento de software no código. idealmente, coisas como a frequência com que é lançado. por quanto tempo ele dura, rastreamento de recursos etc. Eu já uso o Exceptioneer para exceções não tratadas, mas gostaria de algo semelhante para o rastreamento de uso.

todos esses dados devem ser anônimos e, idealmente, executados como um serviço por outra pessoa. e eu gostaria de dar aos usuários a opção de desativá-lo, se assim o desejarem ... Então, isso é algo que eu deveria me implementar, ou existem terceiros por aí que fazem esse tipo de coisa? Sei que pode ser uma área complicada, mas vi estatísticas sobre o uso de aplicativos para iPhone. eles fazem isso, então por que não podemos? (se o usuário concordar, é claro)

[Atualização] Com base nos comentários, eu deveria ter sido mais claro. este é um aplicativo Winforms .NET 4., embora eu esteja pensando em atualizá-lo mais tarde com o WCF. eu rastrearia apenas meu próprio aplicativo, mas também gostaria de saber informações menores sobre o ambiente (versão do sistema operacional Windows, SP, talvez proc e ram ...)

questionAnswers(5)

yourAnswerToTheQuestion