Skip to content

Nostromo

Choose a tag to compare

@czerwingithub czerwingithub released this 23 Apr 23:37

Features

  • The Agent no longer enforces all events must have monotonically increasing timestamps when pushed into Scalyr. The is now possible due to changes in the server. This allow better use of the default timestamps, such as in Docker and Kubernetes.
  • Log lines collected via the Kubernetes or Docker monitors will now have their default timestamps set to the timestamp generated by K8s/Docker. As long as a parser does not override the timestamp, the K8s and Docker timestamps will be used in Scalyr.
  • Agent logs with severity higher than INFO will now be output to stdout as well as the agent.log file when running with the --no-fork flag.
  • The Journald monitor now supports a detect_escaped_strings option which automatically detects if the details field is already an escaped string, and if so, just emits it directly to the log instead of re-escaping it. This option is specified using the journald_logs array. See the journald monitor documentation for more details.

Bugs

  • Fixed monitor configuration bug that prevented config options that did not have a default nor were required from being properly set via environment variables.

Optimizations

  • Optimize RFC3339 date strings parsing. This should result in better throughput under highly loaded scenarios (many lines per second) when using Docker / Kubernetes monitor.
  • Speed up event serialization under highly loaded scenarios by optimizing json encoding and encoding of event attributes.
  • We now default to orjson JSON library under Python 3 (if the library is available). orjson is substantially faster than ujson for encoding.