mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-11-21 14:44:00 +00:00
lib/protoparser: substitute hybrid channel-based pools with plain sync.Pool
Using plain sync.Pool simplifies the code without increasing memory usage and CPU usage.
So it is better to use plain sync.Pool from readability and maintainability PoV.
This is a follow-up for 8942f290eb
This commit is contained in:
parent
8942f290eb
commit
4770294732
12 changed files with 75 additions and 221 deletions
|
@ -10,7 +10,6 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/cgroup"
|
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/common"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/common"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/csvimport"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/csvimport"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/writeconcurrencylimiter"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/writeconcurrencylimiter"
|
||||||
|
@ -121,11 +120,6 @@ func (ctx *streamContext) reset() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func getStreamContext(r io.Reader) *streamContext {
|
func getStreamContext(r io.Reader) *streamContext {
|
||||||
select {
|
|
||||||
case ctx := <-streamContextPoolCh:
|
|
||||||
ctx.br.Reset(r)
|
|
||||||
return ctx
|
|
||||||
default:
|
|
||||||
if v := streamContextPool.Get(); v != nil {
|
if v := streamContextPool.Get(); v != nil {
|
||||||
ctx := v.(*streamContext)
|
ctx := v.(*streamContext)
|
||||||
ctx.br.Reset(r)
|
ctx.br.Reset(r)
|
||||||
|
@ -135,19 +129,13 @@ func getStreamContext(r io.Reader) *streamContext {
|
||||||
br: bufio.NewReaderSize(r, 64*1024),
|
br: bufio.NewReaderSize(r, 64*1024),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
func putStreamContext(ctx *streamContext) {
|
func putStreamContext(ctx *streamContext) {
|
||||||
ctx.reset()
|
ctx.reset()
|
||||||
select {
|
|
||||||
case streamContextPoolCh <- ctx:
|
|
||||||
default:
|
|
||||||
streamContextPool.Put(ctx)
|
streamContextPool.Put(ctx)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
var streamContextPool sync.Pool
|
var streamContextPool sync.Pool
|
||||||
var streamContextPoolCh = make(chan *streamContext, cgroup.AvailableCPUs())
|
|
||||||
|
|
||||||
type unmarshalWork struct {
|
type unmarshalWork struct {
|
||||||
rows csvimport.Rows
|
rows csvimport.Rows
|
||||||
|
|
|
@ -7,7 +7,6 @@ import (
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/cgroup"
|
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/fasttime"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/fasttime"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/common"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/common"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/datadogsketches"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/datadogsketches"
|
||||||
|
@ -104,11 +103,6 @@ var (
|
||||||
)
|
)
|
||||||
|
|
||||||
func getPushCtx(r io.Reader) *pushCtx {
|
func getPushCtx(r io.Reader) *pushCtx {
|
||||||
select {
|
|
||||||
case ctx := <-pushCtxPoolCh:
|
|
||||||
ctx.br.Reset(r)
|
|
||||||
return ctx
|
|
||||||
default:
|
|
||||||
if v := pushCtxPool.Get(); v != nil {
|
if v := pushCtxPool.Get(); v != nil {
|
||||||
ctx := v.(*pushCtx)
|
ctx := v.(*pushCtx)
|
||||||
ctx.br.Reset(r)
|
ctx.br.Reset(r)
|
||||||
|
@ -118,19 +112,13 @@ func getPushCtx(r io.Reader) *pushCtx {
|
||||||
br: bufio.NewReaderSize(r, 64*1024),
|
br: bufio.NewReaderSize(r, 64*1024),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
func putPushCtx(ctx *pushCtx) {
|
func putPushCtx(ctx *pushCtx) {
|
||||||
ctx.reset()
|
ctx.reset()
|
||||||
select {
|
|
||||||
case pushCtxPoolCh <- ctx:
|
|
||||||
default:
|
|
||||||
pushCtxPool.Put(ctx)
|
pushCtxPool.Put(ctx)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
var pushCtxPool sync.Pool
|
var pushCtxPool sync.Pool
|
||||||
var pushCtxPoolCh = make(chan *pushCtx, cgroup.AvailableCPUs())
|
|
||||||
|
|
||||||
func getRequest() *datadogsketches.SketchPayload {
|
func getRequest() *datadogsketches.SketchPayload {
|
||||||
v := requestPool.Get()
|
v := requestPool.Get()
|
||||||
|
|
|
@ -7,7 +7,6 @@ import (
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/cgroup"
|
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/fasttime"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/fasttime"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/common"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/common"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/datadogutils"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/datadogutils"
|
||||||
|
@ -104,11 +103,6 @@ var (
|
||||||
)
|
)
|
||||||
|
|
||||||
func getPushCtx(r io.Reader) *pushCtx {
|
func getPushCtx(r io.Reader) *pushCtx {
|
||||||
select {
|
|
||||||
case ctx := <-pushCtxPoolCh:
|
|
||||||
ctx.br.Reset(r)
|
|
||||||
return ctx
|
|
||||||
default:
|
|
||||||
if v := pushCtxPool.Get(); v != nil {
|
if v := pushCtxPool.Get(); v != nil {
|
||||||
ctx := v.(*pushCtx)
|
ctx := v.(*pushCtx)
|
||||||
ctx.br.Reset(r)
|
ctx.br.Reset(r)
|
||||||
|
@ -118,19 +112,13 @@ func getPushCtx(r io.Reader) *pushCtx {
|
||||||
br: bufio.NewReaderSize(r, 64*1024),
|
br: bufio.NewReaderSize(r, 64*1024),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
func putPushCtx(ctx *pushCtx) {
|
func putPushCtx(ctx *pushCtx) {
|
||||||
ctx.reset()
|
ctx.reset()
|
||||||
select {
|
|
||||||
case pushCtxPoolCh <- ctx:
|
|
||||||
default:
|
|
||||||
pushCtxPool.Put(ctx)
|
pushCtxPool.Put(ctx)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
var pushCtxPool sync.Pool
|
var pushCtxPool sync.Pool
|
||||||
var pushCtxPoolCh = make(chan *pushCtx, cgroup.AvailableCPUs())
|
|
||||||
|
|
||||||
func getRequest() *datadogv1.Request {
|
func getRequest() *datadogv1.Request {
|
||||||
v := requestPool.Get()
|
v := requestPool.Get()
|
||||||
|
|
|
@ -7,7 +7,6 @@ import (
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/cgroup"
|
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/fasttime"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/fasttime"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/common"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/common"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/datadogutils"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/datadogutils"
|
||||||
|
@ -111,11 +110,6 @@ var (
|
||||||
)
|
)
|
||||||
|
|
||||||
func getPushCtx(r io.Reader) *pushCtx {
|
func getPushCtx(r io.Reader) *pushCtx {
|
||||||
select {
|
|
||||||
case ctx := <-pushCtxPoolCh:
|
|
||||||
ctx.br.Reset(r)
|
|
||||||
return ctx
|
|
||||||
default:
|
|
||||||
if v := pushCtxPool.Get(); v != nil {
|
if v := pushCtxPool.Get(); v != nil {
|
||||||
ctx := v.(*pushCtx)
|
ctx := v.(*pushCtx)
|
||||||
ctx.br.Reset(r)
|
ctx.br.Reset(r)
|
||||||
|
@ -125,19 +119,13 @@ func getPushCtx(r io.Reader) *pushCtx {
|
||||||
br: bufio.NewReaderSize(r, 64*1024),
|
br: bufio.NewReaderSize(r, 64*1024),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
func putPushCtx(ctx *pushCtx) {
|
func putPushCtx(ctx *pushCtx) {
|
||||||
ctx.reset()
|
ctx.reset()
|
||||||
select {
|
|
||||||
case pushCtxPoolCh <- ctx:
|
|
||||||
default:
|
|
||||||
pushCtxPool.Put(ctx)
|
pushCtxPool.Put(ctx)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
var pushCtxPool sync.Pool
|
var pushCtxPool sync.Pool
|
||||||
var pushCtxPoolCh = make(chan *pushCtx, cgroup.AvailableCPUs())
|
|
||||||
|
|
||||||
func getRequest() *datadogv2.Request {
|
func getRequest() *datadogv2.Request {
|
||||||
v := requestPool.Get()
|
v := requestPool.Get()
|
||||||
|
|
|
@ -9,7 +9,6 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/cgroup"
|
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/fasttime"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/fasttime"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/common"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/common"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/graphite"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/graphite"
|
||||||
|
@ -116,11 +115,6 @@ var (
|
||||||
)
|
)
|
||||||
|
|
||||||
func getStreamContext(r io.Reader) *streamContext {
|
func getStreamContext(r io.Reader) *streamContext {
|
||||||
select {
|
|
||||||
case ctx := <-streamContextPoolCh:
|
|
||||||
ctx.br.Reset(r)
|
|
||||||
return ctx
|
|
||||||
default:
|
|
||||||
if v := streamContextPool.Get(); v != nil {
|
if v := streamContextPool.Get(); v != nil {
|
||||||
ctx := v.(*streamContext)
|
ctx := v.(*streamContext)
|
||||||
ctx.br.Reset(r)
|
ctx.br.Reset(r)
|
||||||
|
@ -130,19 +124,13 @@ func getStreamContext(r io.Reader) *streamContext {
|
||||||
br: bufio.NewReaderSize(r, 64*1024),
|
br: bufio.NewReaderSize(r, 64*1024),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
func putStreamContext(ctx *streamContext) {
|
func putStreamContext(ctx *streamContext) {
|
||||||
ctx.reset()
|
ctx.reset()
|
||||||
select {
|
|
||||||
case streamContextPoolCh <- ctx:
|
|
||||||
default:
|
|
||||||
streamContextPool.Put(ctx)
|
streamContextPool.Put(ctx)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
var streamContextPool sync.Pool
|
var streamContextPool sync.Pool
|
||||||
var streamContextPoolCh = make(chan *streamContext, cgroup.AvailableCPUs())
|
|
||||||
|
|
||||||
type unmarshalWork struct {
|
type unmarshalWork struct {
|
||||||
rows graphite.Rows
|
rows graphite.Rows
|
||||||
|
|
|
@ -9,7 +9,6 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/cgroup"
|
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/flagutil"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/flagutil"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/common"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/common"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/influx"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/influx"
|
||||||
|
@ -134,11 +133,6 @@ func (ctx *streamContext) reset() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func getStreamContext(r io.Reader) *streamContext {
|
func getStreamContext(r io.Reader) *streamContext {
|
||||||
select {
|
|
||||||
case ctx := <-streamContextPoolCh:
|
|
||||||
ctx.br.Reset(r)
|
|
||||||
return ctx
|
|
||||||
default:
|
|
||||||
if v := streamContextPool.Get(); v != nil {
|
if v := streamContextPool.Get(); v != nil {
|
||||||
ctx := v.(*streamContext)
|
ctx := v.(*streamContext)
|
||||||
ctx.br.Reset(r)
|
ctx.br.Reset(r)
|
||||||
|
@ -148,19 +142,13 @@ func getStreamContext(r io.Reader) *streamContext {
|
||||||
br: bufio.NewReaderSize(r, 64*1024),
|
br: bufio.NewReaderSize(r, 64*1024),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
func putStreamContext(ctx *streamContext) {
|
func putStreamContext(ctx *streamContext) {
|
||||||
ctx.reset()
|
ctx.reset()
|
||||||
select {
|
|
||||||
case streamContextPoolCh <- ctx:
|
|
||||||
default:
|
|
||||||
streamContextPool.Put(ctx)
|
streamContextPool.Put(ctx)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
var streamContextPool sync.Pool
|
var streamContextPool sync.Pool
|
||||||
var streamContextPoolCh = make(chan *streamContext, cgroup.AvailableCPUs())
|
|
||||||
|
|
||||||
type unmarshalWork struct {
|
type unmarshalWork struct {
|
||||||
rows influx.Rows
|
rows influx.Rows
|
||||||
|
|
|
@ -9,7 +9,6 @@ import (
|
||||||
"github.com/VictoriaMetrics/metrics"
|
"github.com/VictoriaMetrics/metrics"
|
||||||
|
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/cgroup"
|
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/fasttime"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/fasttime"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/flagutil"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/flagutil"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/common"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/common"
|
||||||
|
@ -89,9 +88,6 @@ var (
|
||||||
unmarshalErrors = metrics.NewCounter(`vm_protoparser_unmarshal_errors_total{type="newrelic"}`)
|
unmarshalErrors = metrics.NewCounter(`vm_protoparser_unmarshal_errors_total{type="newrelic"}`)
|
||||||
)
|
)
|
||||||
|
|
||||||
var pushCtxPool sync.Pool
|
|
||||||
var pushCtxPoolCh = make(chan *pushCtx, cgroup.AvailableCPUs())
|
|
||||||
|
|
||||||
type pushCtx struct {
|
type pushCtx struct {
|
||||||
br *bufio.Reader
|
br *bufio.Reader
|
||||||
reqBuf bytesutil.ByteBuffer
|
reqBuf bytesutil.ByteBuffer
|
||||||
|
@ -119,11 +115,6 @@ func (ctx *pushCtx) reset() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func getPushCtx(r io.Reader) *pushCtx {
|
func getPushCtx(r io.Reader) *pushCtx {
|
||||||
select {
|
|
||||||
case ctx := <-pushCtxPoolCh:
|
|
||||||
ctx.br.Reset(r)
|
|
||||||
return ctx
|
|
||||||
default:
|
|
||||||
if v := pushCtxPool.Get(); v != nil {
|
if v := pushCtxPool.Get(); v != nil {
|
||||||
ctx := v.(*pushCtx)
|
ctx := v.(*pushCtx)
|
||||||
ctx.br.Reset(r)
|
ctx.br.Reset(r)
|
||||||
|
@ -133,13 +124,10 @@ func getPushCtx(r io.Reader) *pushCtx {
|
||||||
br: bufio.NewReaderSize(r, 64*1024),
|
br: bufio.NewReaderSize(r, 64*1024),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
func putPushCtx(ctx *pushCtx) {
|
func putPushCtx(ctx *pushCtx) {
|
||||||
ctx.reset()
|
ctx.reset()
|
||||||
select {
|
|
||||||
case pushCtxPoolCh <- ctx:
|
|
||||||
default:
|
|
||||||
pushCtxPool.Put(ctx)
|
pushCtxPool.Put(ctx)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
var pushCtxPool sync.Pool
|
||||||
|
|
|
@ -9,7 +9,6 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/cgroup"
|
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/fasttime"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/fasttime"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/common"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/common"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/opentsdb"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/opentsdb"
|
||||||
|
@ -106,11 +105,6 @@ var (
|
||||||
)
|
)
|
||||||
|
|
||||||
func getStreamContext(r io.Reader) *streamContext {
|
func getStreamContext(r io.Reader) *streamContext {
|
||||||
select {
|
|
||||||
case ctx := <-streamContextPoolCh:
|
|
||||||
ctx.br.Reset(r)
|
|
||||||
return ctx
|
|
||||||
default:
|
|
||||||
if v := streamContextPool.Get(); v != nil {
|
if v := streamContextPool.Get(); v != nil {
|
||||||
ctx := v.(*streamContext)
|
ctx := v.(*streamContext)
|
||||||
ctx.br.Reset(r)
|
ctx.br.Reset(r)
|
||||||
|
@ -120,19 +114,13 @@ func getStreamContext(r io.Reader) *streamContext {
|
||||||
br: bufio.NewReaderSize(r, 64*1024),
|
br: bufio.NewReaderSize(r, 64*1024),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
func putStreamContext(ctx *streamContext) {
|
func putStreamContext(ctx *streamContext) {
|
||||||
ctx.reset()
|
ctx.reset()
|
||||||
select {
|
|
||||||
case streamContextPoolCh <- ctx:
|
|
||||||
default:
|
|
||||||
streamContextPool.Put(ctx)
|
streamContextPool.Put(ctx)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
var streamContextPool sync.Pool
|
var streamContextPool sync.Pool
|
||||||
var streamContextPoolCh = make(chan *streamContext, cgroup.AvailableCPUs())
|
|
||||||
|
|
||||||
type unmarshalWork struct {
|
type unmarshalWork struct {
|
||||||
rows opentsdb.Rows
|
rows opentsdb.Rows
|
||||||
|
|
|
@ -10,7 +10,6 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/cgroup"
|
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/fasttime"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/fasttime"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/flagutil"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/flagutil"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/common"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/common"
|
||||||
|
@ -128,11 +127,6 @@ var (
|
||||||
)
|
)
|
||||||
|
|
||||||
func getStreamContext(r io.Reader) *streamContext {
|
func getStreamContext(r io.Reader) *streamContext {
|
||||||
select {
|
|
||||||
case ctx := <-streamContextPoolCh:
|
|
||||||
ctx.br.Reset(r)
|
|
||||||
return ctx
|
|
||||||
default:
|
|
||||||
if v := streamContextPool.Get(); v != nil {
|
if v := streamContextPool.Get(); v != nil {
|
||||||
ctx := v.(*streamContext)
|
ctx := v.(*streamContext)
|
||||||
ctx.br.Reset(r)
|
ctx.br.Reset(r)
|
||||||
|
@ -142,19 +136,13 @@ func getStreamContext(r io.Reader) *streamContext {
|
||||||
br: bufio.NewReaderSize(r, 64*1024),
|
br: bufio.NewReaderSize(r, 64*1024),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
func putStreamContext(ctx *streamContext) {
|
func putStreamContext(ctx *streamContext) {
|
||||||
ctx.reset()
|
ctx.reset()
|
||||||
select {
|
|
||||||
case streamContextPoolCh <- ctx:
|
|
||||||
default:
|
|
||||||
streamContextPool.Put(ctx)
|
streamContextPool.Put(ctx)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
var streamContextPool sync.Pool
|
var streamContextPool sync.Pool
|
||||||
var streamContextPoolCh = make(chan *streamContext, cgroup.AvailableCPUs())
|
|
||||||
|
|
||||||
func getRows() *opentsdbhttp.Rows {
|
func getRows() *opentsdbhttp.Rows {
|
||||||
v := rowsPool.Get()
|
v := rowsPool.Get()
|
||||||
|
|
|
@ -8,7 +8,6 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/cgroup"
|
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/common"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/common"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/prometheus"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/prometheus"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/writeconcurrencylimiter"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/writeconcurrencylimiter"
|
||||||
|
@ -117,11 +116,6 @@ var (
|
||||||
)
|
)
|
||||||
|
|
||||||
func getStreamContext(r io.Reader) *streamContext {
|
func getStreamContext(r io.Reader) *streamContext {
|
||||||
select {
|
|
||||||
case ctx := <-streamContextPoolCh:
|
|
||||||
ctx.br.Reset(r)
|
|
||||||
return ctx
|
|
||||||
default:
|
|
||||||
if v := streamContextPool.Get(); v != nil {
|
if v := streamContextPool.Get(); v != nil {
|
||||||
ctx := v.(*streamContext)
|
ctx := v.(*streamContext)
|
||||||
ctx.br.Reset(r)
|
ctx.br.Reset(r)
|
||||||
|
@ -131,19 +125,13 @@ func getStreamContext(r io.Reader) *streamContext {
|
||||||
br: bufio.NewReaderSize(r, 64*1024),
|
br: bufio.NewReaderSize(r, 64*1024),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
func putStreamContext(ctx *streamContext) {
|
func putStreamContext(ctx *streamContext) {
|
||||||
ctx.reset()
|
ctx.reset()
|
||||||
select {
|
|
||||||
case streamContextPoolCh <- ctx:
|
|
||||||
default:
|
|
||||||
streamContextPool.Put(ctx)
|
streamContextPool.Put(ctx)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
var streamContextPool sync.Pool
|
var streamContextPool sync.Pool
|
||||||
var streamContextPoolCh = make(chan *streamContext, cgroup.AvailableCPUs())
|
|
||||||
|
|
||||||
type unmarshalWork struct {
|
type unmarshalWork struct {
|
||||||
rows prometheus.Rows
|
rows prometheus.Rows
|
||||||
|
|
|
@ -7,7 +7,6 @@ import (
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/cgroup"
|
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/encoding/zstd"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/encoding/zstd"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/fasttime"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/fasttime"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/flagutil"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/flagutil"
|
||||||
|
@ -123,11 +122,6 @@ var (
|
||||||
)
|
)
|
||||||
|
|
||||||
func getPushCtx(r io.Reader) *pushCtx {
|
func getPushCtx(r io.Reader) *pushCtx {
|
||||||
select {
|
|
||||||
case ctx := <-pushCtxPoolCh:
|
|
||||||
ctx.br.Reset(r)
|
|
||||||
return ctx
|
|
||||||
default:
|
|
||||||
if v := pushCtxPool.Get(); v != nil {
|
if v := pushCtxPool.Get(); v != nil {
|
||||||
ctx := v.(*pushCtx)
|
ctx := v.(*pushCtx)
|
||||||
ctx.br.Reset(r)
|
ctx.br.Reset(r)
|
||||||
|
@ -137,21 +131,13 @@ func getPushCtx(r io.Reader) *pushCtx {
|
||||||
br: bufio.NewReaderSize(r, 64*1024),
|
br: bufio.NewReaderSize(r, 64*1024),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
func putPushCtx(ctx *pushCtx) {
|
func putPushCtx(ctx *pushCtx) {
|
||||||
ctx.reset()
|
ctx.reset()
|
||||||
select {
|
|
||||||
case pushCtxPoolCh <- ctx:
|
|
||||||
default:
|
|
||||||
pushCtxPool.Put(ctx)
|
pushCtxPool.Put(ctx)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
var pushCtxPool sync.Pool
|
||||||
pushCtxPool sync.Pool
|
|
||||||
pushCtxPoolCh = make(chan *pushCtx, cgroup.AvailableCPUs())
|
|
||||||
)
|
|
||||||
|
|
||||||
func getWriteRequest() *prompb.WriteRequest {
|
func getWriteRequest() *prompb.WriteRequest {
|
||||||
v := writeRequestPool.Get()
|
v := writeRequestPool.Get()
|
||||||
|
|
|
@ -7,7 +7,6 @@ import (
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/cgroup"
|
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/flagutil"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/flagutil"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/common"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/common"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/vmimport"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/vmimport"
|
||||||
|
@ -110,11 +109,6 @@ func (ctx *streamContext) reset() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func getStreamContext(r io.Reader) *streamContext {
|
func getStreamContext(r io.Reader) *streamContext {
|
||||||
select {
|
|
||||||
case ctx := <-streamContextPoolCh:
|
|
||||||
ctx.br.Reset(r)
|
|
||||||
return ctx
|
|
||||||
default:
|
|
||||||
if v := streamContextPool.Get(); v != nil {
|
if v := streamContextPool.Get(); v != nil {
|
||||||
ctx := v.(*streamContext)
|
ctx := v.(*streamContext)
|
||||||
ctx.br.Reset(r)
|
ctx.br.Reset(r)
|
||||||
|
@ -124,19 +118,13 @@ func getStreamContext(r io.Reader) *streamContext {
|
||||||
br: bufio.NewReaderSize(r, 64*1024),
|
br: bufio.NewReaderSize(r, 64*1024),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
func putStreamContext(ctx *streamContext) {
|
func putStreamContext(ctx *streamContext) {
|
||||||
ctx.reset()
|
ctx.reset()
|
||||||
select {
|
|
||||||
case streamContextPoolCh <- ctx:
|
|
||||||
default:
|
|
||||||
streamContextPool.Put(ctx)
|
streamContextPool.Put(ctx)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
var streamContextPool sync.Pool
|
var streamContextPool sync.Pool
|
||||||
var streamContextPoolCh = make(chan *streamContext, cgroup.AvailableCPUs())
|
|
||||||
|
|
||||||
type unmarshalWork struct {
|
type unmarshalWork struct {
|
||||||
rows vmimport.Rows
|
rows vmimport.Rows
|
||||||
|
|
Loading…
Reference in a new issue