Example #1
0
        static void DownloadTelemetry(string monthsBack)
        {
            var table = CreateTelemetryTable();

            int monthsBackNum;

            int.TryParse(monthsBack ?? "", out monthsBackNum);

            var query = new TableQuery <Telemetry.AzureStorageEntry>();

            if (monthsBackNum != 0)
            {
                query = query.Where(TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.GreaterThan, DateTime.UtcNow.AddMonths(-monthsBackNum).ToString("yyyy-MM")));
            }

            var dataSet = new Telemetry.RawDataSet();
            int processedEntriesCount = 0;

            Console.WriteLine();
            Console.Write("Processed entries:    0");
            Action printProcessedEntries = () =>
            {
                Console.Write("\b\b\b\b");
                Console.Write("{0,4}", processedEntriesCount);
            };

            foreach (var entry in table.ExecuteQuery(query))
            {
                dataSet.HandleTelemetryEntry(entry);
                processedEntriesCount++;
                if (processedEntriesCount % 100 == 0)
                {
                    printProcessedEntries();
                }
            }
            printProcessedEntries();
            Console.WriteLine();
            Telemetry.Analytics.AnalizeFeaturesUse(dataSet);
            Console.WriteLine();
        }