- 博客(16)
- 资源 (1)
- 收藏
- 关注
原创 聊聊dubbo-go-proxy的Client
序本文主要研究一下dubbo-go-proxy的ClientClientdubbo-go-proxy/pkg/client/client.go// Client represents the interface of http/dubbo clientstype Client interface { Init() error Close() error // Call invoke the downstream service. Call(req *Request) (res inter
2021-01-31 22:06:32 124
原创 聊聊tempo的ExclusiveQueues
序本文主要研究一下tempo的ExclusiveQueuesExclusiveQueuestempo/pkg/flushqueues/exclusivequeues.gotype ExclusiveQueues struct { queues []*util.PriorityQueue index *atomic.Int32 activeKeys sync.Map}ExclusiveQueues定义了queues、index、activeKeys属性Newtem
2021-01-30 23:13:38 93
原创 聊聊tempodb的Pool
序本文主要研究一下tempodb的PoolPooltempo/tempodb/pool/pool.gotype Pool struct { cfg *Config size *atomic.Int32 workQueue chan *job shutdownCh chan struct{}}Pool定义了cfg、size、workQueue、shutdownCh属性jobtempo/tempodb/pool/pool.gotype job struct { ctx
2021-01-29 22:53:48 94
原创 聊聊loki的Query
序本文主要研究一下loki的QueryQueryloki/pkg/logql/engine.go// Query is a LogQL query to be executed.type Query interface { // Exec processes the query. Exec(ctx context.Context) (Result, error)}// Result is the result of a query execution.type Result struc
2021-01-28 23:30:28 924
原创 聊聊cortex的kv.Client
序本文主要研究一下cortex的kv.Clientkv.Clientgithub.com/cortexproject/cortex/pkg/ring/kv/client.go// Client is a high-level client for key-value stores (such as Etcd and// Consul) that exposes operations such as CAS and Watch which take callbacks.// It also dea
2021-01-27 23:01:41 168
原创 聊聊cortex的ReadRing
序本文主要研究一下cortex的ReadRingReadRingcortex/pkg/ring/ring.go// ReadRing represents the read interface to the ring.type ReadRing interface { prometheus.Collector // Get returns n (or more) ingesters which form the replicas for the given key. // bufDescs
2021-01-26 23:54:03 140
原创 聊聊cortex的Distributor
序本文主要研究一下cortex的DistributorDistributorcortex/pkg/distributor/distributor.go// Distributor is a storage.SampleAppender and a client.Querier which// forwards appends and queries to individual ingesters.type Distributor struct { services.Service cfg
2021-01-25 23:51:39 462
原创 聊聊cortex的Ingester
序本文主要研究一下cortex的IngesterIngestercortex/pkg/api/api.go// Ingester is defined as an interface to allow for alternative implementations// of ingesters to be passed into the API.RegisterIngester() method.type Ingester interface { client.IngesterServer
2021-01-24 23:46:57 190
原创 聊聊cortex的tenant
序本文主要研究一下cortex的tenanttenantcortex/pkg/tenant/tenant.govar ( errTenantIDTooLong = errors.New("tenant ID is too long: max 150 characters"))type errTenantIDUnsupportedCharacter struct { pos int tenantID string}func (e *errTenantIDUnsupporte
2021-01-23 23:33:44 136
原创 聊聊promtail的positions
序本文主要研究一下promtail的positionsPositionsloki/pkg/promtail/positions/positions.gotype Positions interface { // GetString returns how far we've through a file as a string. // JournalTarget writes a journal cursor to the positions file, while // FileTarget
2021-01-22 23:23:05 796
原创 聊聊cortex的Backoff
序本文主要研究一下cortex的BackoffBackoffgithub.com/cortexproject/cortex/pkg/util/backoff.go// Backoff implements exponential backoff with randomized wait timestype Backoff struct { cfg BackoffConfig ctx context.Context numRetries int nex
2021-01-22 23:21:15 141
原创 聊聊promtail的Client
序本文主要研究一下promtail的ClientClientloki/pkg/promtail/client/client.go// Client pushes entries to Loki and can be stoppedtype Client interface { api.EntryHandler // Stop goroutine sending batch of entries. Stop()}Client接口内嵌了api.EntryHandler接口,定义了Stop
2021-01-21 00:03:45 751
原创 聊聊gorm的GroupBy
序本文主要研究一下gorm的GroupByGroupBygorm.io/gorm@v1.20.11/clause/group_by.go// GroupBy group by clausetype GroupBy struct { Columns []Column Having []Expression}// Name from clause namefunc (groupBy GroupBy) Name() string { return "GROUP BY"}// Bui
2021-01-20 00:06:23 3601
原创 聊聊gorm的Locking
序本文主要研究一下gorm的LockingLockinggorm.io/gorm@v1.20.11/clause/locking.gotype Locking struct { Strength string Table Table Options string}// Name where clause namefunc (locking Locking) Name() string { return "FOR"}// Build build where clause
2021-01-18 23:52:22 759
原创 聊聊gorm的OnConflict
序本文主要研究一下gorm的OnConflictOnConflictgorm.io/gorm@v1.20.11/clause/on_conflict.gotype OnConflict struct { Columns []Column Where Where OnConstraint string DoNothing bool DoUpdates Set UpdateAll bool}func (OnConflict) Name() st
2021-01-17 20:59:57 2242
原创 聊聊gorm的CreateInBatches
序本文主要研究一下gorm的CreateInBatchesCreateInBatchesgorm.io/gorm@v1.20.11/finisher_api.go// CreateInBatches insert the value in batches into databasefunc (db *DB) CreateInBatches(value interface{}, batchSize int) (tx *DB) { reflectValue := reflect.Indirect(r
2021-01-16 22:48:51 4183
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人