All Projects → influxdata → line-protocol

influxdata / line-protocol

Licence: MIT License
No description, website, or topics provided.

Programming Languages

go
31211 projects - #10 most used programming language
Ragel
52 projects

line-protocol

Go Reference

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].