mirror of
https://github.com/QuilibriumNetwork/ceremonyclient.git
synced 2026-02-21 18:37:26 +08:00
69 lines
1.9 KiB
Go
69 lines
1.9 KiB
Go
// Copyright 2023 The LevelDB-Go and Pebble Authors. All rights reserved. Use
|
|
// of this source code is governed by a BSD-style license that can be found in
|
|
// the LICENSE file.
|
|
|
|
package objiotracing
|
|
|
|
import "github.com/cockroachdb/pebble/internal/base"
|
|
|
|
// OpType indicates the type of operation.
|
|
type OpType uint8
|
|
|
|
// OpType values.
|
|
const (
|
|
ReadOp OpType = iota
|
|
WriteOp
|
|
// RecordCacheHitOp happens when a read is satisfied from the block cache. See
|
|
// objstorage.ReadHandle.RecordCacheHit().
|
|
RecordCacheHitOp
|
|
// SetupForCompactionOp is a "meta operation" that configures a read handle
|
|
// for large sequential reads. See objstorage.ReadHandle.SetupForCompaction().
|
|
SetupForCompactionOp
|
|
)
|
|
|
|
// Reason indicates the higher-level context of the operation.
|
|
type Reason uint8
|
|
|
|
// Reason values.
|
|
const (
|
|
UnknownReason Reason = iota
|
|
ForFlush
|
|
ForCompaction
|
|
ForIngestion
|
|
// TODO(radu): add ForUserFacing.
|
|
)
|
|
|
|
// BlockType indicates the type of data block relevant to an operation.
|
|
type BlockType uint8
|
|
|
|
// BlockType values.
|
|
const (
|
|
UnknownBlock BlockType = iota
|
|
DataBlock
|
|
ValueBlock
|
|
FilterBlock
|
|
MetadataBlock
|
|
)
|
|
|
|
// Event is the on-disk format of a tracing event. It is exported here so that
|
|
// trace processing tools can use it by importing this package.
|
|
type Event struct {
|
|
// Event start time as a Unix time (see time.Time.StartUnixNano()).
|
|
// Note that recorded events are not necessarily ordered by time - this is
|
|
// because separate event "streams" use local buffers (for performance).
|
|
StartUnixNano int64
|
|
Op OpType
|
|
Reason Reason
|
|
BlockType BlockType
|
|
// LSM level plus one (with 0 indicating unknown level).
|
|
LevelPlusOne uint8
|
|
// Hardcoded padding so that struct layout doesn't depend on architecture.
|
|
_ uint32
|
|
FileNum base.FileNum
|
|
// HandleID is a unique identifier corresponding to an objstorage.ReadHandle;
|
|
// only set for read operations performed through a ReadHandle.
|
|
HandleID uint64
|
|
Offset int64
|
|
Size int64
|
|
}
|