Skip to content

Version 0.13.0

Compare
Choose a tag to compare
@Felixoid Felixoid released this 21 Jun 08:43
· 227 commits to master since this release

Changes since v0.12.0:

Features:

  • Use ClickHouse external data to pass metric names
  • Debugging:
    • External data
    • Add debug logging for each pb3 target
    • Add debug curl command for external data to logs
    • Add debug protobuf output
    • Add debug JSON output
    • Create dedicated documentation for debugging
  • Pass proper function name to pb3 response

Improvements:

  • Process $ in metric names
  • Improve logging:
    • All handlers have a proper name
    • Log X-Ctx-Carbonapi-Uuid header
    • Log ClickHouse query summary
  • Use X-Gch-Request-Id globally for all requests
  • Config:
    • Add config parameter to limit metrics per target in requests
    • Reversed or direct index search tuning
    • DEPRECATION: tree-table is deprecated, consider migration to the index table
    • DEPRECATION: single [logging] should be replaced by [[logging]]
    • DEPRECATION: data-table parameter in [clickhouse] is deprecated; use [[data-table]]
  • Check if TaggedTable is set in config before process autocomplete
  • Process X-Real-Ip and X-Forwarded-For
  • Fix possible XSS, overflow, and int parsing after CodeQL
  • Add curly braces expansion to tags, thanks to @msaf1980
  • Improve errors handling, thanks to @msaf1980
  • Add tuning for reversed index search, thanks to @msaf1980 and @Felixoid

Bug fixes:

  • Make data fetching inclusive for until parameter
  • Fix step calculation, thanks to @mrodikov
  • Use 60 seconds as the default step if none provided in prometheus API, thanks to Oleg Izgagin
  • Fix autocomplete for tags containing = in values, thanks to @Hipska

Refactoring:

  • Rework /render handler almost completely
  • Migrate from BurntSushi/toml to pelletier/go-toml

Build and infrastructure:

  • Use github actions instead of Travic CI
  • Check the config documentation is in the actual state
  • Use codeql analysis
  • Improve code documentation
  • Drop x86 packages, add arm64
  • Test all non-vendor packages in the project
  • Create a proper root structure in deploy/
  • Add logrotate config to packages
  • Save nightly deb and rpm packages as artifacts for each commit