Skip to content

Releases: go-graphite/go-carbon

Version 0.15.4

25 Oct 18:41
fd8deba
Compare
Choose a tag to compare
  • trie/bug fixes and finally adds some simple fuzzing logics #383

Version 0.15.3

20 Oct 20:03
40006c8
Compare
Choose a tag to compare
  • Go v1.15.3
  • carbonserver: fix findError information lost due to unexported fields #380
  • Upgrade golangci-lint #378
  • A concurrent version of trie index (#334)
  • carbonserver: fix two panics related to prometheus #374 (#376)
  • Add service.version for all the traces (#373)
  • trie: add a little documentation about efficient metric naming patterns (#370)
  • Implementing linters (#368)
  • Go v1.15.1 (#367)
  • Tracing/Opentelemetry (#364)
  • [travis-ci] Add apt-get update and go mod vendor to sync gox installation in Travis (#361)
  • Fix pubsub test (#360)
  • fix packages.sh (#359)

Version 0.15.0

12 Jul 18:56
30a250f
Compare
Choose a tag to compare
  • Migrate to go modules (#351)
  • Moving to go-graphite organization (#347)
  • Carbonlink support fixed with Python 3 Pickle Compatible Metric Request Parser (#340)
  • (EXPERIMENTAL) Adding ability to update index for metrics even if there is no whisper file created on disk (#338)
  • bugfix: unconfirmed metrics (#319)
  • Implement context cancellations for find and find part of render (#307)
  • (EXPERIMENTAL) Trie Index (#303)
  • Populate metric details and access times only if stats are enabled (#299)
  • Automatically delete empty whisper file caused by edge cases like server reboot (#293)
  • (EXPERIMENTAL) Added new options and upgraded go-whisper library to have compressed format (cwhisper) support

Version 0.14.0

17 May 06:56
Compare
Choose a tag to compare

Features

  • Accept UDP messages in plain protocol without trailing newline #278
  • Added whisper.hard-max-creates-per-second option #242
  • No longer trying to combine separate UDP messages from one sender into single stream
  • [carbonserver] Added metrics for prometheus
  • [carbonserver] Improved compatibility with graphite-web (#250, #251)

Version 0.13.0

01 Aug 08:00
Compare
Choose a tag to compare

Features

  • Added whisper.max-creates-per-second option
  • Support multiple targets in carbonserver
  • Support new carbonapi_v3_pb protocol. This allows recent versions of carbonapi to get metadata alongside with data

Version 0.12.0

10 Mar 08:40
Compare
Choose a tag to compare

Features

  • Tags support was added (only with graphite-web)
  • flock support for persister and carbonserver
  • cache.max-size and cache.write-strategy can be changed without restart (HUP signal)
  • Google PubSub protocol was added. It receives data from PubSub Subscriptions and can decode protobuf, plain, or pickle messages.
    • The default format is plain. Specify protobuf or pickle by adding an attribute named 'content-type' to the PubSub messsages:
      • application/protobuf
      • application/python-pickle
    • Sample configuration:
[receiver.pubsub]
protocol = "pubsub"
project = "project-name"
subscription = "subscription-name"
# receiver_go_routines = 4
# receiver_max_messages = 1000
# receiver_max_bytes = 500000000 # default 500MB

Version 0.11.0

06 Sep 22:19
Compare
Choose a tag to compare

Features

  • Added GRPC api (like "carbonlink")
  • Added support of an unlimited number of receivers. See sample config for details
  • Protobuf protocol was added. Sample configuration:
[receiver.protobuf]
protocol = "protobuf"
listen = ":2005"
  • HTTP protocol was added. It receives data from POST requests body. Data can be encoded in plain, pickle (Content-Type: application/python-pickle) and protobuf (Content-Type: application/protobuf) formats. Sample configuration:
[receiver.http]
protocol = "http"
listen = ":2006"
  • Kafka protocol was added. It receives data from Kafka and can decode protobuf, plain or pickle messages. You need manually specify message format in the config file. Sample configuration:
[receiver.kafka]
protocol = "kafka"
parse-protocol = "protobuf" # can be also "plain" or "pickle"
brokers = [ "localhost:9092" ]
topic = "graphite"
partition = 0
state-file = "/var/lib/graphite/kafka.state"
initial-offset = "-30m" # In case of absent or damaged state file fetch last 30 mins of messages

Version 0.10.1

21 Jun 19:09
Compare
Choose a tag to compare

Bug fixes

  • Unpack long values in pickle protocol #182
  • Remove unused LOCKFILE from init script #181

Version 0.10.0

14 Jun 19:40
Compare
Choose a tag to compare

BREAKING CHANGES

  • common: logfile and log-level in common config section are deprecated
  • changed config defaults:
    • user changed to carbon
    • whisper directory changed to /var/lib/graphite/whisper/
    • schemas config changed to /etc/go-carbon/storage-schemas.conf
  • rpm:
    • binary moved to /usr/bin/go-carbon
    • configs moved to /etc/go-carbon/
  • deb:
    • binary moved to /usr/bin/go-carbon

Features

  • common: [feature] Logging refactored. Format changed to structured JSON. Added support of multiple logging handlers with separate output, level and encoding
  • dump/restore: [feature] New dump format. Added go-carbon -cat filename command for printing dump to console. New version of go-carbon can read old dump
  • carbonserver: [feature] IdleTimeout is now configurable in carbonserver part
  • carbonserver: [feature] support /render query cache (query-cache-* options in config file)
  • carbonserver: [feature] support /metrics/find cache (find-cache-* option in config file)
  • carbonserver: [feature] support /metrics/details handler, that returns information about metrics (require enabled trigram-index)
  • carbonserver: [feature] Add config option to disable trigram index (before that to disable index you should set scan-interval to 0)
  • packaging: added systemd service
  • packaging: new init script without external dependencies
  • packaging: logrotate config has been added

Bug fixes

  • dump/restore: [fix] go-carbon can not stop after dump (with enabled dump and carbonserver)
  • carbonserver: [fix] fix #146 (metrics_known was broken if metrics were not sent as counters)

Version 0.10.0-beta2

06 Jun 18:23
Compare
Choose a tag to compare
Version 0.10.0-beta2 Pre-release
Pre-release
v0.10.0-beta2

Version 0.10.0-beta2