package txn

import "go.etcd.io/etcd/server/v3/etcdserver/txn"

Index

Functions

func ApplySecObserve

func ApplySecObserve(version, op string, success bool, latency time.Duration)

func CheckTxnAuth

func CheckTxnAuth(as auth.AuthStore, ai *auth.AuthInfo, rt *pb.TxnRequest) error

func DeleteRange

func DeleteRange(ctx context.Context, lg *zap.Logger, kv mvcc.KV, dr *pb.DeleteRangeRequest) (resp *pb.DeleteRangeResponse, trace *traceutil.Trace, err error)

func IsTxnReadonly

func IsTxnReadonly(r *pb.TxnRequest) bool

func IsTxnSerializable

func IsTxnSerializable(r *pb.TxnRequest) bool

func Put

func Put(ctx context.Context, lg *zap.Logger, lessor lease.Lessor, kv mvcc.KV, p *pb.PutRequest) (resp *pb.PutResponse, trace *traceutil.Trace, err error)

func Range

func Range(ctx context.Context, lg *zap.Logger, kv mvcc.KV, r *pb.RangeRequest) (resp *pb.RangeResponse, trace *traceutil.Trace, err error)

func RangeSecObserve

func RangeSecObserve(success bool, latency time.Duration)

func Txn

func Txn(ctx context.Context, lg *zap.Logger, rt *pb.TxnRequest, txnModeWriteWithSharedBuffer bool, kv mvcc.KV, lessor lease.Lessor) (*pb.TxnResponse, *traceutil.Trace, error)

func WarnOfExpensiveReadOnlyRangeRequest

func WarnOfExpensiveReadOnlyRangeRequest(lg *zap.Logger, warningApplyDuration time.Duration, now time.Time, reqStringer fmt.Stringer, rangeResponse *pb.RangeResponse, err error)

func WarnOfExpensiveReadOnlyTxnRequest

func WarnOfExpensiveReadOnlyTxnRequest(lg *zap.Logger, warningApplyDuration time.Duration, now time.Time, r *pb.TxnRequest, txnResponse *pb.TxnResponse, err error)

func WarnOfExpensiveRequest

func WarnOfExpensiveRequest(lg *zap.Logger, warningApplyDuration time.Duration, now time.Time, reqStringer fmt.Stringer, respMsg proto.Message, err error)

func WarnOfFailedRequest

func WarnOfFailedRequest(lg *zap.Logger, now time.Time, reqStringer fmt.Stringer, respMsg proto.Message, err error)

Source Files

metrics.go txn.go util.go

Version
v3.6.10 (latest)
Published
Apr 1, 2026
Platform
linux/amd64
Imports
18 packages
Last checked
2 weeks ago

Tools for package owners.