Коллекция вложена в Tracer - PullRequest
       15

Коллекция вложена в Tracer

0 голосов
/ 15 октября 2019

Я хочу написать собственный трассировщик, добавляющий функциональность для отслеживания продолжительности (времени, потраченного на выполнение) некоторой подпрограммы. Я думаю об использовании Dictionary<object, DateTime>.

Вот псевдокод:

// adding current time to the dictionary for key 'anyObject'
Tracer.SaveCurrentTime(anyObject);
// doing something
// adding related line to a log file and removing key 'anyObject'and its value from the dictionary
Tracer.TraceTimeSpent(anyObject);

Сначала мне понравилось, потому что этот подход будет работать для разных потоков и классов. Но теперь мне интересно, если это вообще хорошая идея? Вызов SaveCurrentTime без вызова TraceTimeSpent оставил бы пару ключ / значение в словаре до конца выполнения процесса.

Это плохая практика, и я пожалею об использовании ее в своих приложениях?

...