Commit Graph

115 Commits

Author SHA1 Message Date
beorn7 2236d782ff api: Extend and improve json-iterator usage
For one, this pulls up the histogram-related json-iterator usage from
prometheus/common into the API client. Previously, the only
json-iterater usage was here in the API client. But then json-iterator
was used for the native histogram additions directly in
prometheus/common, see
https://github.com/prometheus/common/pull/440/files . This however
meant that any user of prometheus/common/model would now link in
json-iterator, even if they are not using the JSON marshaling at
all. To keep prometheus/common/model more leightweight, this commit
moves all the json-iterator usage into the API client itself, as it
was done before for the normal float samples.

This commit also adds an unmarshaling function for native histograms,
which didn't even exist in prometheus/common/model so far.

It also adds json-iterator marshaling and un-marshaling for
model.SampleStream, which is only needed for the benchmark
(BenchmarkSamplesJsonSerialization). This fixes the benchmark such
that it actually compares json-iterator and std-lib json encoding
(which didn't work before because the custom marshaling methods of
model.SampleStream enforced std-lib json encoding for floats and
json-iterator encoding for histograms in all cases).

I expect this to fix #1179.

Signed-off-by: beorn7 <beorn@grafana.com>
2023-03-01 17:27:33 +01:00
dependabot[bot] 2fced96110
Bump github.com/prometheus/common from 0.37.0 to 0.39.0 (#1197)
Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.37.0 to 0.39.0.
- [Release notes](https://github.com/prometheus/common/releases)
- [Commits](https://github.com/prometheus/common/compare/v0.37.0...v0.39.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/common
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-01 14:28:26 +01:00
dependabot[bot] b8b41c85ae
Bump golang.org/x/sys from 0.3.0 to 0.4.0 (#1217)
Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.3.0 to 0.4.0.
- [Release notes](https://github.com/golang/sys/releases)
- [Commits](https://github.com/golang/sys/compare/v0.3.0...v0.4.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-01 12:04:45 +01:00
Ben Kochie d5a9239503
Merge pull request #1198 from prometheus/dependabot/go_modules/github.com/prometheus/procfs-0.9.0
Bump github.com/prometheus/procfs from 0.8.0 to 0.9.0
2023-01-25 14:37:42 +01:00
dependabot[bot] 14aa20358b
Bump github.com/cespare/xxhash/v2 from 2.1.2 to 2.2.0
Bumps [github.com/cespare/xxhash/v2](https://github.com/cespare/xxhash) from 2.1.2 to 2.2.0.
- [Release notes](https://github.com/cespare/xxhash/releases)
- [Commits](https://github.com/cespare/xxhash/compare/v2.1.2...v2.2.0)

---
updated-dependencies:
- dependency-name: github.com/cespare/xxhash/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-01 09:02:31 +00:00
dependabot[bot] 26620fdd58
Bump github.com/prometheus/procfs from 0.8.0 to 0.9.0
Bumps [github.com/prometheus/procfs](https://github.com/prometheus/procfs) from 0.8.0 to 0.9.0.
- [Release notes](https://github.com/prometheus/procfs/releases)
- [Commits](https://github.com/prometheus/procfs/compare/v0.8.0...v0.9.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/procfs
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-01 09:02:21 +00:00
Alex Goncharov 27f0506d6e
Bump golang.org/x/text to v0.3.8 to mitigate CVE-2022-32149 (#1187)
Signed-off-by: Alex Goncharov <github@b4bay.com>

Signed-off-by: Alex Goncharov <github@b4bay.com>
2022-12-22 16:14:44 +01:00
beorn7 4e71e6ff20 Update prometheus/client_model dependency
Native histograms are now in a tagged version (v0.3.0).

Signed-off-by: beorn7 <beorn@grafana.com>
2022-10-19 18:27:50 +02:00
beorn7 95cf173f19 Merge branch 'main' into sparsehistogram 2022-08-23 14:28:33 +02:00
dependabot[bot] c6d4e40244
Bump github.com/prometheus/procfs from 0.7.3 to 0.8.0 (#1097)
Bumps [github.com/prometheus/procfs](https://github.com/prometheus/procfs) from 0.7.3 to 0.8.0.
- [Release notes](https://github.com/prometheus/procfs/releases)
- [Commits](https://github.com/prometheus/procfs/compare/v0.7.3...v0.8.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/procfs
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-02 10:43:54 +02:00
dependabot[bot] 76cdae298e
Bump google.golang.org/protobuf from 1.28.0 to 1.28.1 (#1099)
Bumps [google.golang.org/protobuf](https://github.com/protocolbuffers/protobuf-go) from 1.28.0 to 1.28.1.
- [Release notes](https://github.com/protocolbuffers/protobuf-go/releases)
- [Changelog](https://github.com/protocolbuffers/protobuf-go/blob/master/release.bash)
- [Commits](https://github.com/protocolbuffers/protobuf-go/compare/v1.28.0...v1.28.1)

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-02 10:24:34 +02:00
dependabot[bot] 9154d30db7
Bump github.com/prometheus/common from 0.35.0 to 0.37.0 (#1098)
Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.35.0 to 0.37.0.
- [Release notes](https://github.com/prometheus/common/releases)
- [Commits](https://github.com/prometheus/common/compare/v0.35.0...v0.37.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/common
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-02 10:23:53 +02:00
beorn7 8cbcd4076a histograms: Move to new exposition protobuf format
Note that this is an incompatible change. To scrape this new format,
the Prometheus server needs to be updated at the same time. PR
incoming.

Signed-off-by: beorn7 <beorn@grafana.com>
2022-07-19 16:54:05 +02:00
beorn7 525d042127 Merge branch 'main' into sparsehistogram 2022-07-06 16:09:36 +02:00
dependabot[bot] e8f91604d8
Bump github.com/prometheus/common from 0.34.0 to 0.35.0 (#1076)
Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.34.0 to 0.35.0.
- [Release notes](https://github.com/prometheus/common/releases)
- [Commits](https://github.com/prometheus/common/compare/v0.34.0...v0.35.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/common
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-04 10:31:16 +02:00
Ganesh Vernekar 6ba7871ebb
Merge branch 'main' into sparsehistogram 2022-06-20 16:50:03 +05:30
Ben Kochie e38d614cd6
Update minimum supported Go version (#1062)
Update minimum supported Go to 1.17 to support new module format.

Signed-off-by: SuperQ <superq@gmail.com>
2022-06-05 10:01:13 +02:00
beorn7 b2372302ca Merge branch 'main' into sparsehistogram 2022-05-15 14:16:16 +02:00
dependabot[bot] fab6748c34
Bump github.com/prometheus/common from 0.33.0 to 0.34.0 (#1051)
Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.33.0 to 0.34.0.
- [Release notes](https://github.com/prometheus/common/releases)
- [Commits](https://github.com/prometheus/common/compare/v0.33.0...v0.34.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/common
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-13 10:20:41 +02:00
Manuel Rüger 0c691ed35f
go.mod: Exclude prometheus/client_golang v1.12.1 (#1027)
See also https://github.com/prometheus/client_golang/issues/1012

As suggested in https://github.com/prometheus/client_golang/issues/1012#issuecomment-1090482644

Signed-off-by: Manuel Rüger <manuel@rueg.eu>
2022-04-13 18:35:14 +01:00
Manuel Rüger 29e8191aff
go.mod: Update dependencies (#1018)
Signed-off-by: Manuel Rüger <manuel@rueg.eu>
2022-03-29 14:15:42 +01:00
beorn7 294cca4252 Merge branch 'main' into sparsehistogram 2022-02-02 16:07:09 +01:00
Kemal Akkoyun 5bd9ee52dc
go.*: Update dependencies (#965)
* Update dependencies

Signed-off-by: Kemal Akkoyun <kakkoyun@gmail.com>

* Update deprecated APIs

Signed-off-by: Kemal Akkoyun <kakkoyun@gmail.com>

* Add missing dependency explicitly

Signed-off-by: Kemal Akkoyun <kakkoyun@gmail.com>
2022-01-18 20:32:44 +01:00
beorn7 5b19c553c3 Merge branch 'master' into sparsehistogram 2022-01-11 14:01:38 +01:00
David Trudgian 679eb0d315
Update cespare/xxhash dependency (#913)
Brings in a fix for asm errors when dynamic linking with Go 1.17.

Fixes #912

Signed-off-by: David Trudgian <david.trudgian@sylabs.io>
2021-09-29 11:11:17 +01:00
beorn7 84fcafffb1 Merge branch 'master' into sparsehistogram 2021-08-18 16:41:04 +02:00
beorn7 514234486b Pin client_model to the most recent sparsehistogram commit
Signed-off-by: beorn7 <beorn@grafana.com>
2021-06-24 22:12:46 +02:00
beorn7 31318b7523 Switch to base-2 buckets
This seem what OTel is converging towards, see
https://github.com/open-telemetry/oteps/pull/149 .

I see pros and cons with base-10 vs base-2. They are discussed in
detail in that OTel PR, and the gist of the discussion is pretty much
in line with my design doc. Since the balance is easy to tip here, I
think we should go with base-2 if OTel picks base-2. This also seems
to be in agreement with several proprietary solution (see again the
discussion on that OTel PR.)

The idea to make the number of buckets per power of 2 (or formerly 10)
a power of 2 itself was also sketched out in the design doc
already. It guarantees mergeability of different resolutions. I was
undecided between making it a recommendation or mandatory. Now I think
it should be mandatory as it has the additional benefit of playing
well with OTel's plans.

This commit also addresses a number of outstanding TODOs.

Signed-off-by: beorn7 <beorn@grafana.com>
2021-06-23 16:48:03 +02:00
Sivabalan Thirunavukkarasu 5426b512dd
Updating dependency versions
Signed-off-by: Sivabalan Thirunavukkarasu <s.thirunavukkarasu@salesforce.com>
2021-06-17 21:04:49 +08:00
beorn7 5aa8534cd0 Merge branch 'master' into sparsehistogram 2021-06-11 14:58:43 +02:00
SuperQ 68cd1e9262
Update Go modules
Update all modules to the latest versions. This starts to reduce the
indirect dependencies on go-kit/kit in favor of go-kit/log.

Signed-off-by: SuperQ <superq@gmail.com>
2021-06-03 13:16:46 +02:00
beorn7 97eb0411ac Tidy go.sum
Signed-off-by: beorn7 <beorn@grafana.com>
2021-05-03 18:08:16 +02:00
beorn7 a9df0bac89 Update prometheus/client_model
(now using sparsehistogram branch)

Signed-off-by: beorn7 <beorn@grafana.com>
2021-04-30 21:45:23 +02:00
beorn7 d6983369d2 Merge branch 'master' into beorn7/histogram 2021-04-03 17:28:55 +02:00
beorn7 a60c63e313 Update dependencies
Signed-off-by: beorn7 <beorn@grafana.com>
2021-03-11 20:22:47 +01:00
Shengjing Zhu 0c0d90feb9 Bump prometheus/procfs to 0.3.0 to fix building on riscv64
This picks up https://github.com/prometheus/procfs/pull/325

Signed-off-by: Shengjing Zhu <i@zhsj.me>
2021-01-23 01:47:50 +08:00
beorn7 8d16199dea Update dependencies
Signed-off-by: beorn7 <beorn@grafana.com>
2020-12-16 20:46:34 +01:00
Bartlomiej Plotka 39b478e90c
Added example api code showing how to add auth tokens and user agents to prom client. (#817)
* Added example api code showing how to add auth tokens and user agents to prom client.

Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>

* Ran go mod tidy.

Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
2020-11-20 19:58:16 +00:00
beorn7 ded2474420 Update dependencies
Signed-off-by: beorn7 <beorn@grafana.com>
2020-10-15 17:57:41 +02:00
beorn7 3c8b15fa0d Update dependencies
Signed-off-by: beorn7 <beorn@grafana.com>
2020-06-16 20:57:28 +02:00
RainbowMango 93cac27dd5 Bump github.com/golang/protobuf to v1.4.2
Signed-off-by: RainbowMango <renhongcai@huawei.com>
2020-05-19 11:40:21 +08:00
beorn7 332f3243f1 Update dependencies
Signed-off-by: beorn7 <beorn@grafana.com>
2020-04-27 18:18:59 +02:00
beorn7 abe540f8c0 Encode sparse histograms in protobuf
Signed-off-by: beorn7 <beorn@grafana.com>
2020-04-07 23:18:40 +02:00
beorn7 5eb1c10f8e Update dependencies
Signed-off-by: beorn7 <beorn@grafana.com>
2020-01-27 15:47:00 +01:00
beorn7 57d41259e1 Add exemplars to counter and histogram
Signed-off-by: beorn7 <beorn@grafana.com>
2020-01-24 17:12:08 +01:00
beorn7 780f6ab482 Update dependencies
Signed-off-by: beorn7 <beorn@grafana.com>
2019-12-20 20:43:37 +01:00
beorn7 b4686f3863 Update dependencies
Just to make sure we are up to date before releasing.
This only affects golang.org/x/sys.

Signed-off-by: beorn7 <beorn@grafana.com>
2019-10-15 13:45:04 +02:00
beorn7 ee1078a03c Move registry hashing to xxhash
This is a much stronger hash function than fnv64a and comparably fast
(with super-fast assembly implementation for amd64).

Performance is not critical here anyway.

The old fnv64a is kept for vectors, where collision detection is in
place and the weakness of the hashing doesn't matter that much. I
implemented a vector version with xxhash and found that xxhash is
slower in all cases except very very high cardinality (where it is
only slightly faster). Also, ``xxhash.New`` comes with an allocation
of 80 bytes. Thus, to keep vectors alloc-free, we needed to add a
`sync.Pool`, which would have an additional performance overhead.

Signed-off-by: beorn7 <beorn@grafana.com>
2019-10-14 21:18:38 +02:00
beorn7 eb4edc4474 Update dependencies
This should happen now and then anyway, but in this case, it should
also fix #642.

Signed-off-by: beorn7 <beorn@grafana.com>
2019-09-27 21:09:48 +02:00
Simon Pasquier 94166ecec9 Enable Go 1.13
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2019-09-13 12:13:46 +02:00
beorn7 2bb70fc592 Update Go modules
Signed-off-by: beorn7 <beorn@grafana.com>
2019-08-01 14:17:16 +02:00
Calle Pettersson c5f4190338 Implement process collector for Windows (#596)
* Implement process collector for Windows

Signed-off-by: Calle Pettersson <calle@cape.nu>
2019-06-14 12:26:55 +02:00
beorn7 674d720113 Use tagged version of prometheus/procfs
Signed-off-by: beorn7 <beorn@grafana.com>
2019-06-04 18:54:12 +02:00
Krasi Georgiev f6e51267db remove the tsdb dependancy
Signed-off-by: Krasi Georgiev <kgeorgie@redhat.com>
2019-05-28 15:42:25 +03:00
Thomas Jackson 7e60220fd3 Switch from encoding/json -> jsoniter (#570)
* Switch from encoding/json -> jsoniter

Signed-off-by: Thomas Jackson <jacksontj.89@gmail.com>
2019-05-28 13:45:06 +02:00
Björn Rabenstein b46e6ec51b
Merge pull request #562 from jacksontj/issue_560
Add storage.Warnings to client
2019-05-22 00:31:30 +02:00
Thomas Jackson d5f3c8d55d Add storage.Warnings to client
Signed-off-by: Thomas Jackson <jacksontj.89@gmail.com>

Fixes #560
2019-05-21 07:36:05 -07:00
beorn7 d586b4b2d5 Update dependencies
Signed-off-by: beorn7 <bjoern@rabenste.in>
2019-05-16 18:05:52 +02:00
Thomas Jackson a4daf0098c Implement POST with get fallback for Query/QueryRange (#557)
* Implement POST with get fallback for Query/QueryRange

Signed-off-by: Thomas Jackson <jacksontj.89@gmail.com>
2019-04-30 10:13:48 +03:00
Bjoern Rabenstein 2d69188b26 Update dependencies
Mostly to use the new module support for prometheus/common and
beorn7/perks.

Signed-off-by: Bjoern Rabenstein <bjoern@rabenste.in>
2019-04-15 00:16:44 +02:00
Simon Pasquier 15da21f1e4 *: replace golang.org/x/net/context by context
The context package is available since Go 1.7 which is the minimal version
supported by client_golang.

Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2019-04-09 15:10:51 +02:00
beorn7 3c4408c8b8 Update dependencies
This includes the infamous rollback of prometheus/common

Signed-off-by: beorn7 <beorn@soundcloud.com>
2019-01-27 23:13:11 +01:00
beorn7 cb063c2bf2 Update vendoring
Signed-off-by: beorn7 <beorn@soundcloud.com>
2018-12-18 17:11:19 +01:00
beorn7 e3fab98d54 Cut v0.9.2
At this time, also update dependencies in go.mod (which I didn't
explicitly mention in the CHANGELOG as this is the first release with
Go modulie support anyway).

Signed-off-by: beorn7 <beorn@soundcloud.com>
2018-12-06 22:25:53 +01:00
Simon Pasquier f626bd2850 *: support Go modules
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-11-16 15:09:33 +01:00