Bryan Boreham

Results 190 issues of Bryan Boreham

This saves a lot of work tracking appends done while compaction is ongoing. `head.compactable()` ensures that the end of the compaction range is more than chunkRange/2 back from now, and...

This extra copy of the last 4 samples was introduced to avoid a race condition between reading the last byte of the chunk and writing to it. ~However this race...

`chunkRange` is the (oddly-named) configured duration for the head block. We don't need a copy of this value per series. Pass it down where required, and remove the copy. The...

Use new experimental package `golang.org/x/exp/slices`. slices.Sort works on values that are directly comparable, like strings, so avoids the overhad of an interface call to `.Less()`. Left tests unchanged, because they...

## Proposal As @mattburgess said at https://github.com/prometheus/prometheus/issues/6934#issuecomment-945739611 >would it be possible to run a compaction/WAL cleanup as soon as the replay has been completed? That would help us avoid the...

Currently, many simple functions such as `abs()` call `DropMetricName()` on every sample. https://github.com/prometheus/prometheus/blob/0906f2eafa3506d411f2053ecba160a6c5ca0387/promql/functions.go#L536-L539 It would be more efficient to leave till the end and do once per series. `DropMetricName` is...

kind/enhancement
priority/Pmaybe
priority/P3

Currently query-frontend only caches range queries. Prompted by #3565, if we are fetching labels over a large range every time a dashboard is refreshed we'd really like that to be...

type/performance
component/query-frontend

According to my profiles, half the CPU in ingesters is taken up with garbage-collection. 70% of garbage is from `recvMsg` in gRPC. There is a note on the code already...

component/ingester
type/performance
bug scrub/last issue discussed

After #3825 (since reverted), any failure to ingest samples will cause the rate-limit reservation to be canceled. However it is quite possible in Cortex that some samples were accepted and...

type/bug
component/distributor

Suppose someone creates a rule, either recording rule or alert, that generates 100,000 output series. Currently, all series will be sent in one request, which will hit the distributor rate-limit...

help wanted