Требования к именованию для TrackMetric?

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

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

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

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

Спасибо

-Джон


person JohnKoz    schedule 09.02.2016    source источник
comment
Также может показаться, что если я включу ТОЛЬКО Метрику, названную двоеточием, на диаграмме, я не увижу данных для..., но если я добавлю другую [действительную] Метрику, я получу другую ошибку: Ошибка при получении данных.   -  person JohnKoz    schedule 09.02.2016


Ответы (1)


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

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

ссылка на исходный код< /а>

person Peter    schedule 09.02.2016