Documentation
¶
Overview ¶
Package indexes provides the index management subsystem for Chotki.
Index ¶
- Variables
- type IndexManager
- func (im *IndexManager) AddFullScanIndex(cid rdx.ID, oid rdx.ID, batch *pebble.Batch) error
- func (im *IndexManager) CheckReindexTasks(ctx context.Context)
- func (im *IndexManager) GetByHash(cid rdx.ID, fid uint32, otlv []byte, reader pebble.Reader) (rdx.ID, error)
- func (im *IndexManager) HandleClassUpdate(id rdx.ID, cid rdx.ID, newFieldsBody []byte) ([]ReindexTask, error)
- func (im *IndexManager) HandleClassUpdateParsed(id rdx.ID, cid rdx.ID, newFields classes.Fields, force bool) ([]ReindexTask, error)
- func (im *IndexManager) OnFieldUpdate(rdt byte, fid, cid rdx.ID, tlv []byte, batch pebble.Writer) error
- func (im *IndexManager) SeekClass(cid rdx.ID, reader pebble.Reader) iter.Seq[rdx.ID]
- type ReindexTask
Constants ¶
This section is empty.
Variables ¶
View Source
var ReindexCount = prometheus.NewCounterVec(prometheus.CounterOpts{ Namespace: "chotki", Subsystem: "index_manager", Name: "reindex", }, []string{"class", "field"})
View Source
var ReindexDuration = prometheus.NewHistogramVec(prometheus.HistogramOpts{ Namespace: "chotki", Subsystem: "index_manager", Name: "reindex_duration", Buckets: []float64{0, 1, 5, 10, 20, 50, 100, 200, 500}, }, []string{"class", "field"})
View Source
var ReindexResults = prometheus.NewCounterVec(prometheus.CounterOpts{ Namespace: "chotki", Subsystem: "index_manager", Name: "reindex_results", }, []string{"class", "field", "result", "type"})
View Source
var ReindexTaskCount = prometheus.NewCounterVec(prometheus.CounterOpts{ Namespace: "chotki", Subsystem: "index_manager", Name: "reindex_tasks", }, []string{"class", "field", "reason"})
View Source
var ReindexTaskStates = prometheus.NewGaugeVec(prometheus.GaugeOpts{ Namespace: "chotki", Subsystem: "index_manager", Name: "reindex_tasks_states", }, []string{"class", "field"})
Functions ¶
This section is empty.
Types ¶
type IndexManager ¶
type IndexManager struct {
// contains filtered or unexported fields
}
func NewIndexManager ¶
func NewIndexManager(c host.Host) *IndexManager
func (*IndexManager) AddFullScanIndex ¶
func (*IndexManager) CheckReindexTasks ¶
func (im *IndexManager) CheckReindexTasks(ctx context.Context)
func (*IndexManager) HandleClassUpdate ¶
func (im *IndexManager) HandleClassUpdate(id rdx.ID, cid rdx.ID, newFieldsBody []byte) ([]ReindexTask, error)
func (*IndexManager) HandleClassUpdateParsed ¶
func (im *IndexManager) HandleClassUpdateParsed(id rdx.ID, cid rdx.ID, newFields classes.Fields, force bool) ([]ReindexTask, error)
func (*IndexManager) OnFieldUpdate ¶
type ReindexTask ¶
type ReindexTask struct {
State reindexTaskState
LastUpdate time.Time
Cid rdx.ID
Field uint32
Revision int64
Src uint64
}
func (*ReindexTask) Id ¶
func (t *ReindexTask) Id() string
func (*ReindexTask) Key ¶
func (t *ReindexTask) Key() []byte
func (*ReindexTask) Value ¶
func (t *ReindexTask) Value() []byte
Click to show internal directories.
Click to hide internal directories.