Преобразует ли Stackdriver разные единицы времени в журналах в миллисекунды? - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть данные журнала в приблизительном формате:

textPayload: "latency=1.539325257s method=GET"
textPayload: "latency=355.376208ms method=GET" 
textPayload: "latency=704.816053ms method=GET"
textPayload: "latency=751.597856ms method=GET"
textPayload: "latency=1.845525343s method=GET"

И я создал метрику распределения в Stackdriver, используя регулярное выражение: latency=([0-9.]+), которое извлекает задержку (и преобразуется в удвоение стека-драйвером))

Когда я отображаю эти данные на графиках, на их графиках отображаются значения "1539.32" и "1845.52", что говорит о том, что эти значения s преобразуются в ms.

.это то, что я хотел бы, но я не могу найти нигде, где написано, что Stackdriver на самом деле читает суффикс единицы (она определенно не является частью моего регулярного выражения) и преобразует время в стандартную единицу.Это фактическое поведение Stackdriver?

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

Stackdriver определенно не конвертирует между вами единицы времени, он просто извлекает значение double и обрабатывает его как любую единицу измерения, указанную в вашей пользовательской метрике, в моем случае ms.Мы закончили тем, что изменили наш код регистрации так, чтобы он всегда выводил в ms и никогда не «красиво печатал» значение в что-то вроде 3.293s и 2m51s, которое является значением по умолчанию при работе с golang time.Duration.

График стоит тысячи слов, посмотрите, сможете ли вы определить, где мы развернули это изменение кода.

the true latency is revealed

0 голосов
/ 15 февраля 2019

может быть лучше отфильтровать, например.для httpRequest.latency см. https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#HttpRequest.

латентность - продолжительность в секундах с числом дробных цифр до девяти, оканчивающаяся на 's'.Пример: «3.5s».

см. метрики агента .

...