Skip to content
No description, website, or topics provided.
Go
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Writer method May 9, 2019
.gitignore Trim excessive .gitignore May 14, 2018
LICENSE Update LICENSE Oct 15, 2018
README.md A readme (#3) Nov 20, 2018
encoder.go
encoder_test.go
escape.go Writer method May 9, 2019
escaper_test.go Writer method May 9, 2019
metric.go A readme (#3) Nov 20, 2018
writer.go Writer method May 9, 2019

README.md

line-protocol

This is an encoder for the influx line protocol.

It has an interface similar to the standard library's json.Encoder.

some caveats.

  • It is not concurrency-safe. If you want to make multiple calls to Encoder.Encode concurrently you have to manage the concurrency yourself.
  • It can only encode values that are uint64, int64, int, float32, float64, string, or bool.
  • Ints are converted to int64, float32's to float64.
  • If UintSupport is not set, uint64s are converted to int64's and if they are larger than the max int64, they get truncated to the max int64 instead of overflowing.

Example:

buf := &bytes.Buffer{}
serializer := protocol.NewEncoder(buf)
serializer.SetMaxLineBytes(1024)
serializer.SetFieldTypeSupport(UintSupport)
serializer.Encode(e) // where e is something that implements the protocol.Metric interface
You can’t perform that action at this time.