Ad Widget

Collapse

Type of information - numeric float

Collapse
This topic has been answered.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Diesel315
    Senior Member
    • Jan 2020
    • 159

    #1

    Type of information - numeric float

    Добрый день!
    Вопрос по типу информации - numeric float
    Вроде в документации написано, что поддерживает до 15 символов после запятой.

    Но на примере опроса счетчика (Avg. Disk Queue Length) , если:
    запрашивать через Get-Counter -Counter "\Физический диск(4 c:\Средняя длина очереди диска", то:
    ~ 0,00659987301206385
    - через typeperf "\Физический диск(4 с:\средняя длина очереди диска" , то:
    ~ 0.007983
    - если опрашивать в zabbix через perf_counter_en["\PhysicalDisk(4 c:\Avg. Disk Queue Length"] то:
    ~ 0.007536
    на сами значения можно не обращать внимания, вопрос в количестве знаков после запятой.

    Почему так мало значений после запятой через perf_counter_en? Можно ли увеличить количество знаков в полученных значений после запятой?

  • Answer selected by Diesel315 at 07-11-2025, 15:14.
    Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    Фраза про "15 символов после запятой" в документации говорит о точности хранения значений во внутренней базе данных Zabbix.
    Например, и для PostgreSQL, и для MySQL/MariaDB для этого поля используется тип данных "DOUBLE PRECISION", про который в документации по соответствующим базам данных именно это и оговаривается. Например, про PostgreSQL говорится:
    Тип double precision предлагает значения в диапазоне приблизительно от 1E-307 до 1E+308 и с точностью не меньше 15 цифр.
    Сильно подозреваю, что 6 знаков после запятой отдаются соответствующими API к Performance Monitor'у, которыми для сбора этих данных пользуется Zabbix агент.
    Это подтверждается и тем, что с той же точностью данные отображаются и штатной утилитой typeperf.
    Вполне возможно, что какой-нибудь PowerShell либо использует другие API, либо отображаемые им данные - банальная ошибка нескольких преобразований из двоичного формата в десятичный и наоборот.

    Comment

    • Kos
      Senior Member
      Zabbix Certified SpecialistZabbix Certified Professional
      • Aug 2015
      • 3404

      #2
      Фраза про "15 символов после запятой" в документации говорит о точности хранения значений во внутренней базе данных Zabbix.
      Например, и для PostgreSQL, и для MySQL/MariaDB для этого поля используется тип данных "DOUBLE PRECISION", про который в документации по соответствующим базам данных именно это и оговаривается. Например, про PostgreSQL говорится:
      Тип double precision предлагает значения в диапазоне приблизительно от 1E-307 до 1E+308 и с точностью не меньше 15 цифр.
      Сильно подозреваю, что 6 знаков после запятой отдаются соответствующими API к Performance Monitor'у, которыми для сбора этих данных пользуется Zabbix агент.
      Это подтверждается и тем, что с той же точностью данные отображаются и штатной утилитой typeperf.
      Вполне возможно, что какой-нибудь PowerShell либо использует другие API, либо отображаемые им данные - банальная ошибка нескольких преобразований из двоичного формата в десятичный и наоборот.

      Comment

      • Diesel315
        Senior Member
        • Jan 2020
        • 159

        #3
        Предполагал такой исход. Спасибо за пояснения.

        Comment

        Working...