diff --git a/model/query_piece.go b/model/query_piece.go index a99d446..1b2334f 100644 --- a/model/query_piece.go +++ b/model/query_piece.go @@ -1,8 +1,6 @@ package model import ( - "bytes" - "encoding/json" jsoniter "github.com/json-iterator/go" "github.com/pingcap/tidb/util/hack" "time" @@ -82,8 +80,8 @@ func (bqp *BaseQueryPiece) GetSQL() (*string) { func (bqp *BaseQueryPiece) Recovery() { } +/** func marsharQueryPieceShareMemory(qp interface{}, cacheBuffer []byte) []byte { - buffer := bytes.NewBuffer(cacheBuffer) err := json.NewEncoder(buffer).Encode(qp) if err != nil { @@ -92,6 +90,7 @@ func marsharQueryPieceShareMemory(qp interface{}, cacheBuffer []byte) []byte { return buffer.Bytes() } +*/ func marsharQueryPieceMonopolize(qp interface{}) (content []byte) { content, err := jsonIterator.Marshal(qp) diff --git a/model/query_piece_pool.go b/model/query_piece_pool.go index 7a58d67..358c29f 100644 --- a/model/query_piece_pool.go +++ b/model/query_piece_pool.go @@ -1,19 +1,13 @@ package model import ( - "github.com/zr-hebo/sniffer-agent/util" "sync" "time" ) -var ( - localSliceBufferPool = util.NewSliceBufferPool("json cache", (128+1)*1024) -) - type PooledMysqlQueryPiece struct { MysqlQueryPiece recoverPool *mysqlQueryPiecePool - sliceBufferPool *util.SliceBufferPool } func NewPooledMysqlQueryPiece( @@ -22,7 +16,6 @@ func NewPooledMysqlQueryPiece( pmqp *PooledMysqlQueryPiece) { pmqp = mqpp.Dequeue() - pmqp.sliceBufferPool = localSliceBufferPool nowInMS := time.Now().UnixNano() / millSecondUnit pmqp.SessionID = sessionID pmqp.ClientHost = clientIP @@ -41,9 +34,6 @@ func NewPooledMysqlQueryPiece( } func (pmqp *PooledMysqlQueryPiece) Recovery() { - if pmqp.sliceBufferPool != nil { - pmqp.sliceBufferPool.Enqueue(pmqp.jsonContent[:0]) - } pmqp.jsonContent = nil pmqp.recoverPool.Enqueue(pmqp) } @@ -59,17 +49,7 @@ func (pmqp *PooledMysqlQueryPiece) Bytes() (content []byte) { } func (pmqp *PooledMysqlQueryPiece) GenerateJsonBytes() { - if pmqp.sliceBufferPool == nil { - pmqp.jsonContent = marsharQueryPieceMonopolize(pmqp) - return - } - - var cacheBuffer = pmqp.sliceBufferPool.Dequeue() - if len(cacheBuffer) > 0 { - panic("there already have bytes in buffer") - } - - pmqp.jsonContent = marsharQueryPieceShareMemory(pmqp, cacheBuffer) + pmqp.jsonContent = marsharQueryPieceMonopolize(pmqp) return }