expfmt.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. // Copyright 2015 The Prometheus Authors
  2. // Licensed under the Apache License, Version 2.0 (the "License");
  3. // you may not use this file except in compliance with the License.
  4. // You may obtain a copy of the License at
  5. //
  6. // http://www.apache.org/licenses/LICENSE-2.0
  7. //
  8. // Unless required by applicable law or agreed to in writing, software
  9. // distributed under the License is distributed on an "AS IS" BASIS,
  10. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  11. // See the License for the specific language governing permissions and
  12. // limitations under the License.
  13. // Package expfmt contains tools for reading and writing Prometheus metrics.
  14. package expfmt
  15. // Format specifies the HTTP content type of the different wire protocols.
  16. type Format string
  17. // Constants to assemble the Content-Type values for the different wire protocols.
  18. const (
  19. TextVersion = "0.0.4"
  20. ProtoType = `application/vnd.google.protobuf`
  21. ProtoProtocol = `io.prometheus.client.MetricFamily`
  22. ProtoFmt = ProtoType + "; proto=" + ProtoProtocol + ";"
  23. // The Content-Type values for the different wire protocols.
  24. FmtUnknown Format = `<unknown>`
  25. FmtText Format = `text/plain; version=` + TextVersion + `; charset=utf-8`
  26. FmtProtoDelim Format = ProtoFmt + ` encoding=delimited`
  27. FmtProtoText Format = ProtoFmt + ` encoding=text`
  28. FmtProtoCompact Format = ProtoFmt + ` encoding=compact-text`
  29. )
  30. const (
  31. hdrContentType = "Content-Type"
  32. hdrAccept = "Accept"
  33. )