Version 0.13.0
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