2016-02-09 2 views
0

Я тестирую коллекцию пользовательских показателей, используя TrackMetric(), из моего консольного приложения Windows. В Metrics Explorer появлялись имена моих показателей, но в нем показывались «нет данных для ...» или «Ошибка получения данных». Я использовал такие имена, как «Метрика: 0», «Метрика: 1» и т. Д.Требования к именованию для TrackMetric?

Тогда я попробовал другое имя метрики без двоеточия И ЭТО РАБОТАЛО!

var telemetry = new TelemetryClient(); 
telemetry.TrackMetric("Test Metric: 1", 50); // <<< BAD with colon 
telemetry.TrackMetric("Test Metric 1", 50); // <<< WORKS with spaces 
telemetry.TrackMetric("TestMetric1", 50); // <<< WORKS 

Итак, должен ли я заключить, что двоеточие «:» не является юридическим символом для имени метрики? Есть ли другие зарезервированные (или связанные с ошибкой) персонажи, о которых я должен знать? Существуют ли стандартные соглашения или рекомендации по наименованию имен Metric?

Благодаря

-John

+0

Было бы также, кажется, что если я включаю только Метрика имени с двоеточие на диаграмме, я вижу «нет данных для ...», но если я добавлю другую [действительную] метрику, я получаю другую ошибку: «Ошибка получения данных». – JohnKoz

ответ

1

Это регулярное выражение используется, чтобы дезинфицировать метрическую имя:

private static readonly Regex InvalidNameCharacters = new Regex(@"[^0-9a-zA-Z-._()\/ ]", Property.SanitizeOptions); 

link to source code

Смежные вопросы