Documentation ¶
Index ¶
- Constants
- Variables
- type ConnectedAgentInfo
- func (*ConnectedAgentInfo) Descriptor() ([]byte, []int)deprecated
- func (x *ConnectedAgentInfo) GetAgentId() int64
- func (x *ConnectedAgentInfo) GetAgentMeta() *entity.AgentMeta
- func (x *ConnectedAgentInfo) GetConnectedAt() *timestamppb.Timestamp
- func (x *ConnectedAgentInfo) GetConnectionId() int64
- func (x *ConnectedAgentInfo) GetProjectId() int64
- func (*ConnectedAgentInfo) ProtoMessage()
- func (x *ConnectedAgentInfo) ProtoReflect() protoreflect.Message
- func (x *ConnectedAgentInfo) Reset()
- func (x *ConnectedAgentInfo) String() string
- type ConnectedAgentInfoCallback
- type ConnectedAgentInfoCollector
- type ExpiringRegisterer
- type Querier
- type RedisTracker
- func (t *RedisTracker) GetConnectedAgentsCount(ctx context.Context) (int64, error)
- func (t *RedisTracker) GetConnectionsByAgentID(ctx context.Context, agentID int64, cb ConnectedAgentInfoCallback) error
- func (t *RedisTracker) GetConnectionsByProjectID(ctx context.Context, projectID int64, cb ConnectedAgentInfoCallback) error
- func (t *RedisTracker) RegisterConnection(ctx context.Context, info *ConnectedAgentInfo) error
- func (t *RedisTracker) RegisterExpiring(ctx context.Context, info *ConnectedAgentInfo) error
- func (t *RedisTracker) Run(ctx context.Context) error
- func (t *RedisTracker) UnregisterConnection(ctx context.Context, info *ConnectedAgentInfo) error
- type Registerer
- type Tracker
Constants ¶
View Source
const (
ModuleName = "agent_tracker"
)
Variables ¶
View Source
var File_internal_module_agent_tracker_agent_tracker_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type ConnectedAgentInfo ¶
type ConnectedAgentInfo struct { AgentMeta *entity.AgentMeta `protobuf:"bytes,1,opt,name=agent_meta,proto3" json:"agent_meta,omitempty"` ConnectedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=connected_at,proto3" json:"connected_at,omitempty"` ConnectionId int64 `protobuf:"varint,3,opt,name=connection_id,proto3" json:"connection_id,omitempty"` AgentId int64 `protobuf:"varint,4,opt,name=agent_id,proto3" json:"agent_id,omitempty"` ProjectId int64 `protobuf:"varint,5,opt,name=project_id,proto3" json:"project_id,omitempty"` // contains filtered or unexported fields }
func (*ConnectedAgentInfo) Descriptor
deprecated
func (*ConnectedAgentInfo) Descriptor() ([]byte, []int)
Deprecated: Use ConnectedAgentInfo.ProtoReflect.Descriptor instead.
func (*ConnectedAgentInfo) GetAgentId ¶
func (x *ConnectedAgentInfo) GetAgentId() int64
func (*ConnectedAgentInfo) GetAgentMeta ¶
func (x *ConnectedAgentInfo) GetAgentMeta() *entity.AgentMeta
func (*ConnectedAgentInfo) GetConnectedAt ¶
func (x *ConnectedAgentInfo) GetConnectedAt() *timestamppb.Timestamp
func (*ConnectedAgentInfo) GetConnectionId ¶
func (x *ConnectedAgentInfo) GetConnectionId() int64
func (*ConnectedAgentInfo) GetProjectId ¶
func (x *ConnectedAgentInfo) GetProjectId() int64
func (*ConnectedAgentInfo) ProtoMessage ¶
func (*ConnectedAgentInfo) ProtoMessage()
func (*ConnectedAgentInfo) ProtoReflect ¶
func (x *ConnectedAgentInfo) ProtoReflect() protoreflect.Message
func (*ConnectedAgentInfo) Reset ¶
func (x *ConnectedAgentInfo) Reset()
func (*ConnectedAgentInfo) String ¶
func (x *ConnectedAgentInfo) String() string
type ConnectedAgentInfoCallback ¶
type ConnectedAgentInfoCallback func(*ConnectedAgentInfo) (done bool, err error)
type ConnectedAgentInfoCollector ¶
type ConnectedAgentInfoCollector []*ConnectedAgentInfo
func (*ConnectedAgentInfoCollector) Collect ¶
func (c *ConnectedAgentInfoCollector) Collect(info *ConnectedAgentInfo) (bool, error)
type ExpiringRegisterer ¶ added in v16.8.0
type ExpiringRegisterer interface { // RegisterExpiring registers connection with the tracker. // Registration will expire if not refreshed using this method. RegisterExpiring(ctx context.Context, info *ConnectedAgentInfo) error }
type RedisTracker ¶
type RedisTracker struct {
// contains filtered or unexported fields
}
func NewRedisTracker ¶
func NewRedisTracker(log *zap.Logger, errRep errz.ErrReporter, client rueidis.Client, agentKeyPrefix string, ttl, refreshPeriod, gcPeriod time.Duration, m otelmetric.Meter) (*RedisTracker, error)
func (*RedisTracker) GetConnectedAgentsCount ¶
func (t *RedisTracker) GetConnectedAgentsCount(ctx context.Context) (int64, error)
func (*RedisTracker) GetConnectionsByAgentID ¶ added in v16.8.0
func (t *RedisTracker) GetConnectionsByAgentID(ctx context.Context, agentID int64, cb ConnectedAgentInfoCallback) error
func (*RedisTracker) GetConnectionsByProjectID ¶ added in v16.8.0
func (t *RedisTracker) GetConnectionsByProjectID(ctx context.Context, projectID int64, cb ConnectedAgentInfoCallback) error
func (*RedisTracker) RegisterConnection ¶
func (t *RedisTracker) RegisterConnection(ctx context.Context, info *ConnectedAgentInfo) error
func (*RedisTracker) RegisterExpiring ¶ added in v16.8.0
func (t *RedisTracker) RegisterExpiring(ctx context.Context, info *ConnectedAgentInfo) error
func (*RedisTracker) UnregisterConnection ¶
func (t *RedisTracker) UnregisterConnection(ctx context.Context, info *ConnectedAgentInfo) error
type Registerer ¶
type Registerer interface { // RegisterConnection registers connection with the tracker. RegisterConnection(ctx context.Context, info *ConnectedAgentInfo) error // UnregisterConnection unregisters connection with the tracker. UnregisterConnection(ctx context.Context, info *ConnectedAgentInfo) error }
type Tracker ¶
type Tracker interface { Registerer ExpiringRegisterer Querier Run(ctx context.Context) error }
Click to show internal directories.
Click to hide internal directories.