О NaN больше всего известно то, что он не равен самому себе. NaN === NaN // false И что операции, невозможные арифметически, вернут NaN. 'BlaBlaBla'/0 // NaN Но у NaN есть одно мало известное(?), и, как мне кажется, весьма полезное применение. Читать дальше →
Месяц назад я устроился на работу в новую компанию, где моей обязанностью стала разработка сервисов для мониторинга. С некоторыми технологиями я не работал прежде, - с интересом приступил к изучению. За прошедшее время в моём приложении для хранения заметок накопилась информация, которую я планирую оформить в цикл статей о мониторинге.В процессе работы с Prometheus мы с коллегами обратили внимание на то, что некоторые метрики содержат значение NaN... Читать далее
База данных временных рядов (TSDB, time series database) в Prometheus 2 – это отличный пример инженерного решения, которое предлагает серьёзные улучшения в сравнении с хранилищем v2 в Prometheus 1 в плане скорости накопления данных и выполнения запросов, эффективности использования ресурсов. Мы внедряли Prometheus 2 в Percona Monitoring and Management (PMM), и у меня была возможность разобраться с производительностью Prometheus 2 TSDB. В этой статье я расскажу о результатах этих наблюдений. Читать дальше →
TensorFlow is an open source platform for machine learning. Prior to versions 2.9.0, 2.8.1, 2.7.2, and 2.6.4, the implementation of `tf.histogram_fixed_width` is vulnerable to a crash when the values array contain `Not a Number` (`NaN`) elements. The implementation assumes that all floating point operations are defined and then converts a floating point result to an integer index. If `values` contains `NaN` then the result of the division is still `NaN` and the cast to `int32` would result in a crash. This